Могу ли я вставить # в $ для доступа к переменной окружения и переменной свойства в весеннем XML-файле?
Я определил переменную окружения в VM, -Denvironment=dev. И я могу получить эту переменную, используя SpEl, #{systemProperties['environment']}. Между тем у меня есть переменная свойства, dev.anything=someValue, определенная в файле свойств. Я могу получить к нему доступ, используя ${dev.anything}. Однако ${#{systemProperties['environment']}. Any} просто дает мне dev.anything вместо ожидаемого значения someValue.
1 ответ
Вы можете поместить заполнители свойств в SpEL, но не наоборот, или просто использовать заполнители свойств.
${${environment}.anything}}
буду работать -
@Value("${${bar}.foo}")
String foo;`
с -Dbar=x -Dx.foo=y
приводит к содержанию foo y
,
Это тоже работает....
@Value("#{systemProperties['${bar}' + '.foo']}")
String bar;