获取给定类型的所有bean的Spring方法

时间:2013-05-27 09:16:52

标签: java spring

我正试图从FileSystemXmlApplicationContext获取相同类型的所有bean。

我正在使用factory.getBeansOfType(SomeType.class)但是我注意到它只返回顶级bean,是否还有其他方法可以返回给定类型的所有bean,甚至是嵌套bean?

使用示例:

<bean name="topLevelBean" class="SomeClass">
    <property name="someProperty">
         <bean bean="nestedBean" class="SomeClass">
    </property>
</bean>

致电factory.getBeansOfType(SomeClass.class)仅返回topLevelBean,但不返回nestedBean

getBeansOfType的文档说它只返回顶级bean。

我的问题是:是否有任何方法可以返回所需类型的所有bean。

2 个答案:

答案 0 :(得分:1)

我可以通过实现BeanPostProcessor接口并将其添加到spring上下文文件来访问所有bean。

答案 1 :(得分:0)

我不确定,但BeanFactoryUtils#beansOfTypeIncludingAncestors()可能会返回那些(doc没有说)。