Spring:DRY with <list>。将所有值从listA复制到listB </list>

时间:2011-02-14 17:47:12

标签: java spring ioc-container dry

我在Spring listA中配置了(见下文)。如果有另一个包含listA中的所有值并展开它,那将是很好的。

<bean id="listA" class="java.util.ArrayList">
    <constructor-arg>
        <list>
            <value>a</value>
            <value>b</value>
            <value>...</value>
            <value>z</value>
        </list>
    </constructor-arg>
</bean>

如何在Spring中重写这样的Java代码?

    List listB = new ArrayList(listA);
    listB.add("A");
    ...
    listB.add("Z");

1 个答案:

答案 0 :(得分:3)

您可以使用collection merging

<bean id="listA" class="java.util.ArrayList">
    <constructor-arg index="0">
        <list>
            <value>a</value>
            <value>b</value>
            <value>...</value>
            <value>z</value>
        </list>
    </constructor-arg>
</bean>

<bean id="listB" parent="listA">
    <constructor-arg index="0">
        <list merge="true">
            <value>A</value>
            <value>...</value>
            <value>Z</value>
        </list>
    </constructor-arg>
</bean>