Spring загрузил конфиг. Но победил другой

Вчера в Spring АйО попался разбор spring.config.import. Хороший повод вспомнить, почему правишь application.yml, а приложение продолжает жить со старым значением.

Например:

server.port=8080 spring.config.import=file:./extra.properties

Если в extra.properties стоит server.port=8081, победит 8081: импортированный файл важнее того, который его подключил.

Но запусти приложение с --server.port=9090 — и будет уже 9090. Аргумент командной строки важнее обоих файлов.

А если импортов несколько, при совпадении ключей выигрывает более поздний. Одно свойство, несколько мест, где его можно задать. И каждое выглядит вполне убедительно, пока смотришь только на него.

Для таких случаев в документации прямо предлагают смотреть env и configprops в Actuator. Откуда взялось значение и что в итоге привязалось к настройкам.

В общем, прежде чем в третий раз править YAML, полезно найти источник, который реально победил.

Разбор · Документация Spring Boot

Spring загрузил конфиг. Но победил другой
Вчера в Spring АйО попался разбор spring.config.import. Хороший повод вспомнить, почему правишь application | Сетка — социальная сеть от hh.ru