一尘不染

从属性文件中读取列表并使用Spring注释@Value加载

java

我想在.properties文件中有一个值列表,即:

my.list.of.strings=ABC,CDE,EFG

并将其直接加载到我的课程中,即:

@Value("${my.list.of.strings}")
private List<String> myList;

据我了解,这样做的另一种方法是将其保存在spring config文件中,并将其作为bean引用加载(如果我错了,请更正我),即

<bean name="list">
 <list>
  <value>ABC</value>
  <value>CDE</value>
  <value>EFG</value>
 </list>
</bean>

但是有什么办法吗?使用.properties文件?ps:如果可能,我希望不使用任何自定义代码。


阅读 887

收藏
2020-03-05

共1个答案

一尘不染

使用Spring EL:

@Value("#{'${my.list.of.strings}'.split(',')}") 
private List<String> myList;

假设使用以下内容正确加载了属性文件:

my.list.of.strings=ABC,CDE,EFG
2020-03-05