【发布时间】:2021-02-25 20:53:56
【问题描述】:
我的项目由几个 @Configuration 注释的 bean 配置类组成。
如何打印出所有已加载的配置类?
我已阅读这些问题,但它们似乎不适用于我的用例:
【问题讨论】:
我的项目由几个 @Configuration 注释的 bean 配置类组成。
如何打印出所有已加载的配置类?
我已阅读这些问题,但它们似乎不适用于我的用例:
【问题讨论】:
您可以使用ApplicationContext#getBeansWithAnnotation。它不仅会采用带有@Configuration 注释的类,而且还会采用带有@Configuration 元注释的注释的类,例如@SpringBootApplication:
@Bean
ApplicationRunner applicationRunner(ApplicationContext applicationContext) {
return args -> {
applicationContext.getBeansWithAnnotation(Configuration.class)
.entrySet()
.stream()
.filter(entry -> entry.getValue().getClass().getPackage().getName().startsWith("com.your.package"))
.forEach(entry -> {
System.out.println("name: " + entry.getKey() + ", bean: " + entry.getValue());
});
};
}
【讨论】: