Могу ли я вставить # в $ для доступа к переменной окружения и переменной свойства в весеннем 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;
Другие вопросы по тегам