我的spring boot项目中有application.yml,希望声明空列表。我的意思是有两级配置层次结构。获取application.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);
}
这就是application.yml的一部分
book:
library: ${LIBRARY_REFERENCE:library}
secondValue:
expirationAfter: 10
authors: ${AUTHORS_IDS:[]}
所以花括号中的值在另一个外部配置文件中声明。但若并没有声明值,spring应该分配在冒号符号后面声明的默认值。在单值中它是有效的,但在list中,如果我如上所述声明它,我会得到numberformatexception,因为value[]被分配给list。如何写好?
在外部配置中,它应该如何编写?如果有时我想声明值,但有时它必须是空的
name: AUTHORS_IDS
value:
1条答案
按热度按时间zaq34kh61#
你只需要放一个冒号。我就这样解决了我的问题,很管用。