以下是application.properties
文件:
myVar=${SOME_VAR:#{null}}
result=myVar is #{myVar != null && myVar.length() > 0 ? '' : 'not'} populated
我想要的是,如果设置了环境变量SOME_VAR
(而不是空白),则属性result
应为myVar is populated
,否则为myVar is not populated
。<登记/>
我上面提到的代码不起作用(设置result
的行),我也尝试了#{}和$ {}的不同组合,包括包裹myVar
,但没有成功至今。
正确的做法是什么?感谢。
答案 0 :(得分:1)
如果您的成员变量是私有的,您将无法直接引用myVar字段。所以你应该把你的条件直接放在属性值上。
请根据您的要求检查以下表达方式。
@Value("myVar is #{ '${SOME_VAR}' != null && '${SOME_VAR}'.trim().length() > 0 ? '' : 'not'} populated")
private String result;
#{}是一种表达式语言功能,而$ {}是一种简单的属性占位符语法。
答案 1 :(得分:0)
我最终做了
0x0000023c4f9fb2b0 "DHM - The ASN.1 data is not formatted correctly : ASN1 - ASN1 tag was of an unexpected value"