我想从我的spring上下文中检索具有某个类(或子类)的所有bean。但是这只能检测由xml特别定义的bean。在此处未检测到由注释定义的豆,如@Service
。 (尽管在应用程序中它们被完全检测,初始化和自动装配)。Spring没有发现由注释生成的beans
GenericXmlApplicationContext ctx = new GenericXmlApplicationContext("*-context.xml");
Map<String, DataUpdater> beans = ctx.getBeansOfType(MyClass.class, true, true);
// why are beans missing?
你的'* -context.xml'文件是否有''元素? –
是的,我有一个组件扫描。并且注释类被检测,实例化(在构造函数方法中每次打印)并自动装配到其他bean(在setter方法中每次打印)。但我无法从外部世界获得他们。 – flybywire
您尝试在XmlApplicationContext中精确搜索您的bean,但是此上下文仅包含在此xml中声明的bean。您必须在 中搜索AnnotationConfigApplicationContext(JConfig.class); –