Spring boot поддерживает внешние конфигурации со свойством --spring.config.location
Если можно указать фактический файл, папку или любую их комбинацию.
Значения в этих файлах свойств будут переопределенызначения из внутренней конфигурации.
Убедитесь, что вы прочитали соответствующую главу Документация
Обновление: , как я прокомментировалневозможно «подавить» внешнюю конфигурацию.Однако, в качестве одного из обходных путей, вы можете рассмотреть возможность реализации EnvironmentPostProcessor, который будет динамически добавлять профили.
Он запускается после того, как среда становится доступной, но до того, как Spring фактически обрабатывает ее bean-компоненты;в двух словах, он предоставляет способ настройки вашей конфигурации.
Так что это может основываться на следующих предположениях:
внешний файл называется «внешнее приложение».свойства "
приложение всегда запускается с --spring.config.locations=<path_to_external_folder>
в дополнение к указанному выше, укажите профиль: --spring.profiles.active=local
Это загрузитapplication.properties
и application-local.properties
доступны для внутреннего использования, но не затрагивают внешний файл, если только в постпроцессоре вы не добавите что-то вроде (псевдокод):
if(! getActiveProfiles().contains("local")) {
addProfile("external");
}
Вы можете прочитать об окружении постпроцессоров Здесь