我有一个Spring application.xml(我在Blueprint Context中有很多XML)
<bean name="bean1">
<property name="list">
<list>
<bean class="com.jrey.xx.A"></bean>
<bean class="com.jrey.xx.C"></bean>
</list>
</property>
<bean name="bean2">
<property name="list">
<list>
<bean class="com.jrey.xx.A"></bean>
<bean class="com.jrey.xx.B"></bean>
</list>
</property>
使用getBeanDefinitionNames方法我可以获取bean bean1,bean2但是我无法获取列表项,我也想扫描这个bean。
for (String beanName : applicationContext.getBeanDefinitionNames()) {
//I have a control
}
检索应用程序上下文的所有bean的方法是什么,包括没有列表名称和bean项目的bean。
答案 0 :(得分:2)
你做不到。如果您希望能够引用这些bean,请在XML配置的顶层使用名称声明它们,并在<list>
中引用它们。
<bean name="A1" class="com.jrey.xx.A" />
<bean name="bean2">
<property name="list">
<list>
<ref bean="A1" />
</list>
</property>
</bean>