SpringBoot Как узнать, какое значение @использует значение по умолчанию?

#java #spring #spring-boot

Вопрос:

У меня их много @Value("${aaa.bbb:default} в исходном коде.

Но некоторые свойства отсутствуют в файлах *.properties, поэтому используются значения по умолчанию.

Как я могу получить список всех полей, свойство которых отсутствует, а @Value использует значение по умолчанию вместо значения в файле свойств?

Я хочу знать, где spring выполнял загрузку @Value, чтобы я мог установить там точку останова.

Или есть какие-либо журналы, предупреждающие об этом?

Ответ №1:

  1. Вы можете установить точку останова в этой строке PropertyPlaceholderHelper.java#L161
  2. Получите список всех свойств, которые вводятся @Value с помощью функции поиска Intellij по всему проекту, а затем с помощью функции spring-boot-actuator получения списка свойств, присутствующих в ConfigurableEnvironment /env конечной точке использования Spring, будет использоваться любое свойство, которое используется, @Value но его там нет, в actuator ответ на значение по умолчанию для этого свойства.