1

我希望在我的 spring.xml 中创建一个地图。我能得到的最接近的是列表列表

<bean id="transformerHelper" class="com.common.TransformerHelper">
    <property name="srcSystemIDList" value="{T(java.util.Arrays).asList({'11','50'},{'41','50'}) }" />
</bean>

但是,我确实需要映射中的这些值,在其中搜索键 11 或 41 时可以返回 50。我需要在 Spring 中定义此元数据,因为它将存储在远离应用程序的地方。

4

3 回答 3

2

请参阅本文档的 A.2.2.5 部分,并注意此示例:

<util:map id="emails">
    <entry key="pechorin" value="pechorin@hero.org"/>
    <entry key="raskolnikov" value="raskolnikov@slums.org"/>
    <entry key="stavrogin" value="stavrogin@gov.org"/>
    <entry key="porfiry" value="porfiry@gov.org"/>
</util:map>
于 2012-10-02T08:47:50.557 回答
0

请参阅链接:converting-static-2d-string-array-to-hashmap并使用 init 方法或在您的 bean 类中实现 InitializingBean。

于 2012-10-02T09:03:55.950 回答
0

有一种方法,我建议向您的类添加另一个属性,一个将保存所有映射值(键和值)的字符串,就像您已经拥有的一样:

{'11','50'},{'41','50'},{'12','34'}

然后,不是注入映射,而是注入字符串,并在它的 setter 方法(如果您使用 setter 注入)中调用一个小方法(由您创建),它将解析该字符串并填充映射,使用StringTokenizer或您喜欢的任何内容。

于 2012-10-02T20:15:13.310 回答