Spring boot Загрузка нескольких файлов свойств - PullRequest
0 голосов
/ 26 октября 2018

У меня есть application.properties, в котором указано имя файла свойств для загрузки в приложение.

application.properties

sources=a_source,b_source,c_source

a_source, b_source и c_source имеют одинаковыепеременные.

a_source.properties

location = locationb

b_source.properties

location = locationb

c_source.properties

location=locationc

Так что, если я добавлю имяфайла свойств в application.properties, скажем, d_source, затем приложение должно автоматически загружать d_source.properties.Так что мое приложение может работать с данными из 4 файлов свойств.Возможно ли это при загрузке весной?

Ответы [ 3 ]

0 голосов
/ 26 октября 2018

Если вы пытаетесь рассматривать несколько свойств приложения как несколько ресурсов свойств Java, значит, вы ошиблись. Вы не можете и не должны. Каждое приложение определяет один файл свойства / yaml для каждой среды / профиля.

Однако, если вы хотите рассматривать application.properties или yaml как основу среды / профиля, вы можете сделать следующее:

Например.,

приложения integration_test.yaml:

spring.profiles: integration_test
spring.profiles.include:
  - unit_test
  - mock_test

В вышеприведенном, что вы говорите, всякий раз, когда у вас есть активный профиль «Integration_test», также включайте конфигурацию из профилей «unit_test» и «mock_test».

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

Ссылка: https://docs.spring.io/spring-boot/docs/current/reference/html/boot-features-profiles.html

0 голосов
/ 23 апреля 2019

Вы также можете использовать это решение:

application-unit_test.properties

# content of file

application-mock_test.properties

# content of file

application.properties

spring.profile.active = default
spring.profiles.include = unit_test, mock_test
0 голосов
/ 26 октября 2018

Может быть, вам стоит подумать об использовании профилей.Проверьте это: Профили Свойства профиля

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...