Spring .properties文件:将元素获取为数组

问题描述

如果你在属性文件中定义数组,例如:

base.module.elementToSearch=1,2,3,4,5,6

你可以像这样在Java类中加载此类数组:

  @Value("${base.module.elementToSearch}")
  private String[] elementToSearch;

解决方法

我正在.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

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}但随后在属性文件中找不到任何参数。

一种解决方法是在elements.properties文件中使用逗号分隔列表,例如:

base.module.elementToSearch=1,2,3,4,5,6

并将其用作String并进行解析,但是有更好的解决方案吗?

猜你在找的技术问答相关文章

如何检查配对的蓝牙设备是打印机还是扫描仪(Android)
是否允许实体正文进行HTTP DELETE请求?
如何将ZipInputStream转换为InputStream?
java.util.logging Java 8中的变量
PowerMockito.doReturn返回null
Java中的RESTful调用
Swing / Java:如何正确使用getText和setText字符串
特殊字符和重音字符
Android Studio中的ndk.dir错误
错误“找不到主类”