我正在.properties使用Spring 从文件加载属性属性,如下所示:
.properties
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
Spring xml文件
file: myapplication.xml <bean id="some" class="com.some.Class"> <property name="property" value="#{base.module.elementToSearch}" /> </bean>
还有我的Class.java
file: Class.java public void setProperty(final List<Integer> elements){ this.elements = elements; }
但是在调试时,参数元素仅将最后一个元素带入列表,因此,存在一个值为“ 6”的元素的列表,而不是包含6个元素的列表。
我尝试了其他方法,例如仅添加值,#{base.module}但随后在属性文件中找不到任何参数。
#{base.module}
一种解决方法是在elements.properties文件中使用逗号分隔列表,例如:
base.module.elementToSearch=1,2,3,4,5,6
并将其用作String并进行解析,但是有更好的解决方案吗?
如果你在属性文件中定义数组,例如:
你可以像这样在Java类中加载此类数组:
@Value("${base.module.elementToSearch}") private String[] elementToSearch;