Spring загрузка загрузка нескольких файлов свойств

У меня есть 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 файлов свойств. Возможно ли это в весенней загрузке?

Зачем вам нужен файл с несколькими свойствами?

Pranali Rasal 26.10.2018 08:35
0
1
3 585
3
Перейти к ответу Данный вопрос помечен как решенный

Ответы 3

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

но одновременно в приложении может быть активен только один профиль, верно?

stk555 26.10.2018 08:30
Ответ принят как подходящий

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

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

Например.,

application-integration_test.yaml:

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

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

But please note that if any same or duplicate properties or config keys defined in included profiles, the properties values are overridden and replaced by the next mentioned profile. In this case if you had same property keys with different values in all 3 profiles, the mock_test profiles' value is used as final value.

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

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

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

Другие вопросы по теме