Spring PropertyPlaceholderConfigurer和具有多个值的键

时间:2013-12-02 09:44:56

标签: java spring properties-file

我有一个像这样的属性文件:

firstproperty=1,2,3,4
secondproperty=47,998,120
thirdproperty=54

我的属性文件在我的Spring配置中定义为我的PropertyPlaceHolderConfigurer bean的属性。

我想在

中加载值
HashMap<String, ArrayList<String>> 
像这样:

<util:map id="properties" map-class="java.util.HashMap">
    <entry key="first" value="${firstproperty}" />
    <entry key="second" value="${secondproperty}" />
    <entry key="three" value="${thirdproperty}" />
</util:map>

问题在于,对于每个条目,用逗号分隔的多个值计为一个值。我试图将我的util-map的值类型配置为ArrayList,但它没有成功。有什么想法吗?

P.S:我使用Spring 3.2。

1 个答案:

答案 0 :(得分:1)

我在配置文件中搜索了Spring EL,也许这就是你想要的:

<bean id="taxCalculator" class="org.spring.samples.TaxCalculator">
<property name="defaultLocale" value="#{ systemProperties['user.region'] }.split(',')"/>

<!-- other properties -->

我不确定拆分方法的位置,你可以尝试自己找到正确的方法。有关详细信息,请参阅:http://docs.spring.io/spring/docs/3.0.x/reference/expressions.html