问题描述
如spring-boot入门指南中所示:
@SpringBootApplication
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
@Bean
public CommandLineRunner commandLineRunner(ApplicationContext ctx) {
return args -> {
System.out.println("Let's inspect the beans provided by Spring Boot:");
String[] beanNames = ctx.getBeanDeFinitionNames();
Arrays.sort(beanNames);
for (String beanName : beanNames) {
System.out.println(beanName);
}
};
}
}
如果您想这样做,可以使用[getSingletonNames()。但小心点。此方法仅返回已实例化的bean。如果尚未实例化Bean,则 通过返回它getSingletonNames()
。
解决方法
我如何知道作为Spring Boot应用程序一部分加载的所有bean的名称?我想在main方法中有一些代码来打印服务器启动后加载的bean的详细信息。