如何在“util:list”bean中引用bean?

时间:2016-05-28 12:11:47

标签: java spring

我有如下的bean定义

<util:list id="myBeanList">
<bean id="stage1" class="Stageclass"/>
<bean id="stage2" class="Stageclass"/>
</util:list>

我知道如果我们想参考上面的列表,我们可以使用像

这样的东西
<ref bean="myBeanList" />

但是,我不想引用整个列表,而是想在这个列表中引用一个特定的bean,比如“stage1”。可能类似于<ref bean="myBeanList$stage1" />

是否可以像这样引用内部bean?是的,怎么办?

1 个答案:

答案 0 :(得分:1)

您可以使用Spring Expression Language执行此操作。

<ref bean="#{myBeanList[0]}" />

但是,我不确定您是否能够通过列表中的bean ID访问。 List不允许您通过bean id或name访问任何内容(这本质上是Map类型的模式)。如果您需要按名称访问,则应考虑将所有bean放在映射中,然后表达式语言应允许您按名称访问它。 Here is an example如何通过bean id访问map中的元素。

我发现的表达语言的一个参考是this。看看如何在spring-config.xml中使用studentList。