java如何在应用程序中定义空列表。弹簧靴中的yml
我有申请表。yml在我的spring boot项目中,并希望声明空列表。我的意思是有一个两级配置层次结构。此类是获取应用程序中声明的值所必需的。yml
@Configuration
@ConfigurationProperties("book")
public class PropertiesReader {
private List<Long> authors;
public List<Long> getAuthors() {
return new ArrayList<>(authors);
}
public void setAuthors(List<Long> authors) {
this.authors= new ArrayList<>(authors);
}
这是应用程序的一部分。yml看起来像
book:
library: ${LIBRARY_REFERENCE:library}
secondValue:
expirationAfter: 10
authors: ${AUTHORS_IDS:[]}
因此,花括号中的值在另一个外部配置文件中声明。但若并没有声明值,spring应该分配冒号符号后面声明的默认值。在单值中它可以工作,但在列表中,若我如上所述声明它,我会得到NumberFormatException,因为值[]被分配给列表。如何正确书写
在外部配置中,它也应该如何编写?如果有时我想声明值,但有时它必须为空
name: AUTHORS_IDS
value:
# 1 楼答案
你只需要放一个冒号。我已经这样解决了我的问题,它起作用了