2017-03-21 48 views
3

有没有一种方法来设置一个空列表作为默认值在Spring的属性,像这样:春@Value空列表默认​​

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

显然不是新的ArrayList,但是我需要有一个空列表代替。

+0

是'private List myList = new ArrayList <>()'不够? –

回答

5

考虑看看规划环境地政司规范后结合@ javaguy的回答我想出了这个:

@Value("${my.list.of.strings:}#{T(java.util.Collections).emptyList()}") 
private List<String> myList; 
+0

我的答案会创建一个空列表,如果有帮助,您可以接受它 – developer

+0

您的答案有帮助但不完整,因为值注释首先指向一个属性(当不存在时应初始化 - 否则会导致IllegalArgumentException) –

+0

我已经在我的项目中使用了零大小的'list'并且没有得到任何'IllegalArgumentException' – developer

0

您可以使用Collections.emptyList()大小为零填充空列表对象,如下图所示:

@Value("#{T(java.util.Collections).emptyList()}") 
private List<String> myList; 

这会给你一个零大小myList