小编典典

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

all

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

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

并直接将其加载到我的班级中,即:

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

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

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

但是有没有办法做到这一点?使用 .properties 文件?ps:如果可能的话,我想在没有任何自定义代码的情况下做到这一点。


阅读 79

收藏
2022-04-22

共1个答案

小编典典

使用 Spring EL:

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

假设您的属性文件已正确加载以下内容:

my.list.of.strings=ABC,CDE,EFG
2022-04-22