2

我正在尝试从FileSystemXmlApplicationContext.

我正在使用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。

4

2 回答 2

1

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

于 2013-05-27T11:41:52.017 回答
0

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

于 2013-05-27T11:28:36.657 回答