是否有可能以编程方式检查bean是由spring还是JSF管理的?
答案 0 :(得分:0)
我有一个班级:
public class ContextHelper {
// this method print all managed beans by spring container
public static void printManagedBeans(ApplicationContext ctx) {
String[] beanNames = ctx.getBeanDefinitionNames();
for (String beanName : beanNames) {
ColorConsoleHelper.getGreenLog("bean is managed by spring " + beanName);
}
}
}
使用该课程后我得到了一个结果:
INFO:[ok] bean由spring org.springframework.context.annotation.internalConfigurationAnnotationProcessor管理
INFO:[ok] bean由spring org.springframework.context.annotation.internalAutowiredAnnotationProcessor管理
INFO:[ok] bean由spring org.springframework.context.annotation.internalRequiredAnnotationProcessor管理
INFO:[ok] bean由spring org.springframework.context.annotation.internalCommonAnnotationProcessor管理
INFO:[ok] bean由spring org.springframework.context.annotation.internalPersistenceAnnotationProcessor管理
INFO:[ok] bean由spring org.springframework.context.event.internalEventListenerProcessor管理
INFO:[ok] bean由spring org.springframework.context.event.internalEventListenerFactory
管理INFO:[ok] bean由spring org.springframework.context.annotation.ConfigurationClassPostProcessor.importAwareProcessor
管理INFO:[ok] bean由spring org.springframework.context.annotation.ConfigurationClassPostProcessor.enhancedConfigurationProcessor管理
为什么列表中没有我标记为使用的可见bean,例如@Service annotation?我希望看到Spring容器中的所有托管bean都包含我的自定义POJO类。