Поддерживает ли @Value возможность указания значения по умолчанию другого @Value? - PullRequest
0 голосов
/ 02 июня 2019
@Value("${test.v1:hello}")
private String testV1;

@Value("${test.v2:${test.v1}}")
private String testV2;

Когда test.v2 не настроен, я хочу, чтобы testV2 был таким же, как и testV1. Поддерживает ли @Value значение по умолчанию для ссылки на другое @Value?

Ответы [ 3 ]

2 голосов
/ 02 июня 2019

Я думаю, что лучшее, что вы можете сделать, это определить test.v2=${test.v1} в вашем файле application.properties. Таким образом, если вы переопределите значение для test.v2 другими способами, например, переменными среды, оно будет иметь определенное значение, в противном случае оно будет иметь значение test.v1.

0 голосов
/ 02 июня 2019
@PostConstruct
public void postConstruct() {
    if (StringUtils.isEmpty(testV2) {
        testV2 = testV1;
    }
}
0 голосов
/ 02 июня 2019

В качестве альтернативы вы можете использовать операнд "+".

@Value("${test.v1:hello}")
private String testV1;

@Value("${test.v2:}" + "${test.v1}")
private String testV2;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...