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

Java Spring方法获取给定类型的所有bean,java,spring,Java,Spring,我正在尝试从文件系统XMLApplicationContext获取相同类型的所有bean 我使用的是factory.getBeansOfType(SomeType.class),但我注意到它只返回顶级bean,是否还有其他方法可以返回给定类型的所有bean,甚至是嵌套bean 用法示例: <bean name="topLevelBean" class="SomeClass"> <property name="someProperty"> <

我正在尝试从
文件系统XMLApplicationContext
获取相同类型的所有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。

我不确定,但可能会返回这些bean(doc没有说).

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

顶级bean是什么意思?这是我第一次听说嵌套bean。请添加您的
context.xml
和您使用的Java代码。添加一些相关代码。我添加了一个我所说的顶级bean的示例嵌套bean。我尝试过,它返回与factory.getBeansOfType相同的列表(我没有任何父上下文)。@Marcel是否有任何注释可以在类级别添加,而不是使用BeanFactoryUtils?是否有任何注释可以在类级别添加,而不是实现BeanPostProcessor?