繁体   English   中英

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

[英]Spring method to get all beans of a given type

我试图从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。

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

我不确定,但BeanFactoryUtils#beansOfTypeIn includedAncestors()可能会返回那些(文档未说明 )。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM