Spring中查看Bean列表的方法分享
下文笔者介绍两种查看Spring中bean列表的方法分享,如下所示
查看Spring中bean列表的实现思路
方式1: 使用 ApplicationContext 获取bean 方式2: 使用 Spring actuator输出bean信息例:
方式一:使用ApplicationContext获取所有Bean
import java.util.Arrays; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.commandlinerunner; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.builder.SpringApplicationBuilder; import org.springframework.boot.web.support.SpringBootServletInitializer; import org.springframework.context.ApplicationContext; @SpringBootApplication public class SpringBootWebApplication extends SpringBootServletInitializer implements CommandLineRunner { @Override protected SpringApplicationBuilder configure(SpringApplicationBuilder application) { return application.sources(SpringBootWebApplication.class); } public static void main(String[] args) throws Exception { SpringApplication.run(SpringBootWebApplication.class, args); } @Autowired private ApplicationContext appContext; @Override public void run(String... args) throws Exception { String[] beans = appContext.getBeanDefinitionNames(); Arrays.sort(beans); for (String bean : beans) { System.out.println(bean + " of Type :: " + appContext.getBean(bean).getClass()); } } }
方式二:使用Spring actuator输出bean信息
actuator是SpringBoot的一个附加功能
可帮助你在应用程序生产环境时监视和管理应用程序
可以使用HTTP的各种请求来监管,审计,收集应用的运行情况。
引入actuator依赖 :
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
启用所有的endpoints:
在起作用的配置文件中添加配置(默认为:application.properties),如下:
management.endpoints.web.exposure.include=*
查看起效的endpoints:
http://localhost:8080/actuator
查看所有的SpringBean:
如果不出意外的话,使用下面的地址就可以进行查看:
http://localhost:8080/actuator/beans
查找某个特定的SpringBean:
在http://localhost:8080/actuator/beans页面上使用CTRL+F查找即可
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。


