我如何才能知道作为 Spring Boot 应用程序的一部分加载的所有 bean 的名称?我想在 main 方法中有一些代码来打印服务器启动后加载的 bean 的详细信息。
如spring-boot入门指南所示:https://spring.io/guides/gs/spring-boot/
@SpringBootỨng dụng
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
@Đậu
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);
}
};
}
}
作为 @Velu评论中提到,这里不会列出手动注册的bean。
如果您想这样做,可以使用 getSingletonNames() .但小心点。此方法仅返回已实例化的 bean。如果 bean 尚未实例化,则 getSingletonNames()
Sẽ不返回它。
Tôi là một lập trình viên xuất sắc, rất giỏi!