Pha*_*ate 5 java spring spring-mvc spring-boot
我正在努力获得标题中要求的两种行为。1)我有一个这样的属性文件:
my.list=a,b,c
Run Code Online (Sandbox Code Playgroud)
2)如果该属性不存在,我想要一个空列表
为什么以下内容会引发我的语法错误?
@Value("#{'${my.list}'.split(',') : T(java.util.Collections).emptyList()}")
Run Code Online (Sandbox Code Playgroud)
有一种方法可以让它工作:
@Value("#{T(java.util.Arrays).asList('${my.list:}')}")
private List<String> list;
Run Code Online (Sandbox Code Playgroud)
my.list:您可以在冒号后设置默认值。现在它是空的。
我不认为你可以使用嵌套 SPEL。实现这一目标的一种方法是
@Value("${server.name:#{null}}")
private String someString;
private List<String> someList;
@PostConstruct
public void setList() {
someList = someString == null ? Collections.emptyList() : Arrays.asList(someString.split(","));
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6680 次 |
| 最近记录: |