#java #spring #spring-boot
Вопрос:
У меня их много @Value("${aaa.bbb:default}
в исходном коде.
Но некоторые свойства отсутствуют в файлах *.properties, поэтому используются значения по умолчанию.
Как я могу получить список всех полей, свойство которых отсутствует, а @Value использует значение по умолчанию вместо значения в файле свойств?
Я хочу знать, где spring выполнял загрузку @Value, чтобы я мог установить там точку останова.
Или есть какие-либо журналы, предупреждающие об этом?
Ответ №1:
- Вы можете установить точку останова в этой строке PropertyPlaceholderHelper.java#L161
- Получите список всех свойств, которые вводятся
@Value
с помощью функции поиска Intellij по всему проекту, а затем с помощью функцииspring-boot-actuator
получения списка свойств, присутствующих вConfigurableEnvironment
/env
конечной точке использования Spring, будет использоваться любое свойство, которое используется,@Value
но его там нет, вactuator
ответ на значение по умолчанию для этого свойства.