我正在.properties使用Spring 从文件加载属性属性,如下所示:
file: elements.properties
base.module.elementToSearch=1
base.module.elementToSearch=2
base.module.elementToSearch=3
base.module.elementToSearch=4
base.module.elementToSearch=5
base.module.elementToSearch=6
Run Code Online (Sandbox Code Playgroud)
spring xml文件
file: myapplication.xml
<bean id="some"
class="com.some.Class">
<property name="property" value="#{base.module.elementToSearch}" />
</bean>
Run Code Online (Sandbox Code Playgroud)
还有我的Class.java
file: Class.java
public void setProperty(final List<Integer> elements){
this.elements = elements;
}
Run Code Online (Sandbox Code Playgroud)
但是在调试时,参数元素只将最后一个元素放入列表中,因此,有一个值为"6"的元素列表,而不是包含6个元素的列表.
我尝试了其他方法,例如仅添加值,#{base.module}但它在属性文件中找不到任何参数.
解决方法是在elements.properties文件中包含以逗号分隔的列表,例如:
base.module.elementToSearch=1,2,3,4,5,6
Run Code Online (Sandbox Code Playgroud)
并将其用作String并解析它,但是有更好的解决方案吗?
验证逗号分隔列表的正则表达式是什么,如下所示:
12365, 45236, 458, 1, 99996332, ......
Run Code Online (Sandbox Code Playgroud) 似乎java.util.Properties假设每个propery键一个值.那是,
foo=1
foo=2
Run Code Online (Sandbox Code Playgroud)
没想到,
是否有这类多值属性表的类,它还提供了加载方法?