如何在Spring项目使用的.properties文件中存储地图?

时间:2013-05-23 14:18:40

标签: java spring

这样存储地图是个好主意:

myMap=k1:v1,k2:v2,k3:v3

然后将其值解析为Map对象?

[更新] 在属性文件中存储地图的最佳方法是什么(作为整个属性文件或只是其中的一部分),以及如何访问整个地图(而不仅仅是地图中的一个键/值)?

2 个答案:

答案 0 :(得分:1)

Properties类实现Map只需定义属性bean,如下所示:

<util:properties id="myMap" location="classpath:myMap.properties" />

然后在bean中设置对myMap的引用,该引用需要属性。

答案 1 :(得分:0)

您应该使用spring MapFactoryBean。当你要求bean时,Spring会给你一张地图。

<bean id="myBean" class="org.springframework.beans.factory.config.MapFactoryBean">
    <property name="sourceMap">
        <map>
            <entry key="k1">
                <value>v1</value>
            </entry>
            <entry key="k2">
                <value>v2</value>
            </entry>
            <entry key="k3">
                <value>v3</value>
            </entry>
        </map>
    </property>
    <property name="targetMapClass" value="java.util.TreeMap"/>
</bean>