Spring:如何在Map之外声明名称/值对?

时间:2009-09-14 19:16:22

标签: java spring

我需要在我的应用程序中设置一组名称/值对 - 有效地表示多对多地图(即键可以有多个值,反之亦然),所以Hashtable和Hashmap不是真的为我工作。

我希望能够以类似于<props>的格式通过Spring声明这些,但当然这不会直接起作用,因为Properties会扩展Hashtable本身。

IE,我希望能够声明这样的内容:

<entry>
   <key><value>KeyOne</value></key>
   <value>ValueOne</value>
</entry>
<entry>
   <key><value>KeyOne</value></key>
   <value>ValueTwo</value>
</entry>

在属性中 - 但无法使用<map>, <props>,并且无法看到使用<set><list>的好方法。有什么好主意吗?

我不一定需要如上所述的类似地图的语法;但是现在已经有了这个,因为我最初用HashMap实现了这个代码,作为Spring设置的实际数据结构。在发现我的1-1地图真的是1-many甚至很多之后,我在这里。

感谢。

1 个答案:

答案 0 :(得分:3)

如何将集合条目设置为简单字符串并解码密钥和值?

@Required
public void setData(String[] data) {
    // split each data element into key and value at the comma
}

<property name="data">
    <list>
        <value>key,value</value>
        <value>key,value</value>
    </list>
</property>

这是在做更多的工作,但会为您提供紧凑的XML。