在bean中注入一个多个字符串作为键的映射

时间:2012-08-06 05:39:21

标签: spring

我们可以在春天注入一个bean,如下所示:

<bean id="injectCollection" class="CollectionInjection">
    <property name="map">
        <map>
            <entry key="someValue">
                <value>Hello World!</value>
            </entry>
            <entry key="someBean">
                <ref local="oracle"/>
            </entry>
        </map>
    </property>
</bean>

如果我的密钥是由两个字符串组成的复合密钥,我该如何注入? 它将如何在属性文件中显示?

2 个答案:

答案 0 :(得分:2)

不仅可以映射,我们还可以使用多个字符串/类作为bean的键来注入列表

<bean id="injectCollection" class="CollectionInjection">
    <property name="fruits">
        <list>
            <ref bean="apple" />
            <ref bean="banana" />  
        </list>
    </property>
</bean>

答案 1 :(得分:0)

你有几种方法可以解决这个问题。 虽然使用List作为键,对我来说听起来不太好,但我希望你有一个非常具体的要求。

那么, 这是一种方式,

<bean id="myBean" class="spring.beans.MapWrapper">
    <property name="map">
        <map>
            <entry>
                <key>
                    <list>
                        <value>keyA</value>
                        <value>keyB</value>
                    </list>
                </key>  
                <value>value1</value>
            </entry>
        </map> 
    </property>
</bean>

在此示例中,您有一个以列表作为键的bean。 该列表由“keyA”和“keyB”组合而成。 密钥的值将是“value1”。