Настройка профиля Spring на основе нескольких каталогов - PullRequest
0 голосов
/ 09 марта 2020

Мои весенние загрузочные приложения. Свойства должны быть настроены для различных сред, таких как dev, test, uat и prod. Текущая настройка проекта загружает свойства из application.properties (classpath: resources) и config.properties (этот имеет переопределения для соединений в dev, test, prod). У нас есть куча других файлов .properties и jks для каждой среды. Я хочу разделить application.properties на env следующим образом:

classpath: 
resources/default/* (loads each property everytime)
resources/local/* (only overrides for local + jks file for this env)
resources/dev/* (only overrides for local + jks file for this env)
resources/test/* (only overrides for local + jks file for this env)
resources/prod/* (only overrides for local + jks file for this env)

Я использую @configurationproperties и @value для привязки значений. Я могу передать spring.profiles.active от манифестов. Как мне этого добиться?

1 Ответ

0 голосов
/ 09 марта 2020

Вам необходимо установить некоторые системные свойства для этого (обычно это делается в основном, прямо перед SpringApplication.run(UserApiApplication.class, args);

Свойства следующие: System.setProperty("spring.config.location", "classpath:/config/dev/");

папка ресурсов примечания опущена На самом деле их загрузка выполняется с помощью пружинных профилей, где имя профиля - это имя файла.

, например config/dev/application-something.yml - это профиль, который необходимо включить. Это простое руководство, которое поможет вам. https://www.baeldung.com/spring-profiles

...