从Spring bean中的单个$ {property}设置数组属性

时间:2014-07-25 12:18:55

标签: java arrays spring properties

我使用PropertyPlaceholderConfigurer

使用基于属性的配置

我的一个Spring bean需要一个String数组。由于我无法知道数组的确切大小,并且我想避免更改Spring bean文件(否则我不会使用属性),有没有办法定义类似的东西:

property.value={string1,string2}

<property name="theArray" value="${property.value}" />

到目前为止我还没有尝试过任何事情,我不知道从哪里开始。

2 个答案:

答案 0 :(得分:1)

您可以使用SPEL:

property.value=string1,string2

<property name="theArray" value="#{'${property.value}'.split(',')}" />

请注意,我已从分割值中删除了{}。如果您必须具有这些括号,则可能需要相应地更新SPEL。如果您愿意,我也可以发布:)

答案 1 :(得分:0)

您可以使用@Value并按过滤器

拆分属性
profiles.test=1,2,3



     @Value("#{'${profiles.test}'.split(',')}")
     private List<String> propertiesTest;