我在VM中定义了一个环境变量,-Denvironment = dev。我可以通过使用SpEl,#{systemProperties ['environment']}来获取此变量。同时我有一个属性变量dev.anything = someValue,在属性文件中定义。我可以使用$ {dev.anything}来访问它。但是,$ {#{systemProperties ['environment']}。anything}只是给了我dev.anything而不是期望值someValue。
答案 0 :(得分:0)
您可以将属性占位符放在SpEL中,反之亦然,或者只使用属性占位符。
${${environment}.anything}}
将有效 -
@Value("${${bar}.foo}")
String foo;`
-Dbar=x -Dx.foo=y
导致foo包含y
。
这也有效....
@Value("#{systemProperties['${bar}' + '.foo']}")
String bar;