Существует ли поддерживаемый Spring способ получения объекта Properties из среды приложения? - PullRequest
0 голосов
/ 18 мая 2018

Итак, мне нужно получить объект Properties для создания экземпляра получателя сообщения.В моем приложении Spring Boot я использую PropertySourcesPlaceholderConfigurer в классе @Configuration для загрузки нужных свойств в приложение.В зависимости от среды развертывания у меня может быть несколько активных профилей и файлов свойств.

Я пытался найти самый безболезненный и поддерживаемый Spring способ сделать это, но я мог бы предложить следующие методы:

  1. Использование PropertiesLoaderUtils для явной загрузки свойств из определенных файлов.Я делаю что-то вроде "application-"+ activeProfile + ".properties".Пока это мой лучший метод, но я хочу избежать указания имени файла свойств и повторной загрузки свойств, если это возможно.

  2. Используйте класс Environment и цикл дляциклически просматривайте все загруженные свойства и загружайте их в объект Properties.Я бы предпочел перезагрузить свойства, такие как метод 1. Вместо этого.

  3. Возможно, вы используете какой-нибудь другой загрузчик свойств?Но я не смог найти какой-либо четкой документации для этого в моем случае использования.

Я чувствую, что должен быть действительно простой способ просто получить Properties.Есть ли прямой способ, который я скучаю?Есть ли лучшие решения этой проблемы?

1 Ответ

0 голосов
/ 18 мая 2018

Вы уже смотрели @configurationproperties

https://www.mkyong.com/spring-boot/spring-boot-configurationproperties-example/

http://www.baeldung.com/configuration-properties-in-spring-boot

По сути, Spring автоматически вставляет эти свойства в bean-объект, который он только что создает.

Примечание: для работы вам нужны @Configuration и @configurationproperties

...