小编典典

从属性文件读取列表并加载spring annotation@Value

spring

我想在.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:如果可能,我希望不使用任何自定义代码。


阅读 483

收藏
2020-04-11

共1个答案

小编典典

使用Spring EL

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

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

my.list.of.strings=ABC,CDE,EFG
2020-04-11