Код: Выделить всё
my.value.a=a
my.value.b=b
value.a = #{ systemEnvironment['MY_VALUE_A'] != null ? systemEnvironment['MY_VALUE_A'] : '${my.value.a}' }
value.b = #{ systemEnvironment['MY_VALUE_B'] != null ? systemEnvironment['MY_VALUE_B'] : '${my.value.b}' }
Код: Выделить всё
value.c = #{ systemEnvironment['MY_VALUE_C'] != null ? systemEnvironment['MY_VALUE_C'] : '#{ ${value.a}:${value.b} }' }
InvoctionTargetException: ошибка при создании bean-компонента с именем MyProperties: неудовлетворенная зависимость, выраженная через параметр 0 метода setValueC; вложенным исключением является org.springframework.beans.factory.BeanExpressionException: не удалось выполнить синтаксический анализ выражения; вложенным исключением является org.springframework.expression.spel.SpelParseException: EL1041E: после анализа допустимого выражения в выражении остается больше данных: 'hash(#)' -> [Справка 1]
Чтобы установить значения в Java, у меня есть файл свойств, и метод установки значений выглядит следующим образом:
Код: Выделить всё
@Value("${value.a}")
public void setValueA(String value) {
this.a = value;
}
@Value("${value.b}")
public void setValueB(String value) {
this.b = value;
}
@Value("${value.c}")
public void setValueC(String value) {
this.c = value;
}
Я не очень в этом разбираюсь, поэтому, возможно, я делаю это совершенно неправильно. Можно ли таким способом добиться того, чего я хочу? Что я сделал не так, если это так?
Подробнее здесь: https://stackoverflow.com/questions/497 ... sing-a-val