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查找即可
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。