Порядок чтения yml-файла Spring Boot

У меня есть файлы ниже в папке ресурсов в стандартном приложении Spring Boot. Spring.active.profile установлен на dev В каком порядке считываются файлы свойств?

1)application.yml 
2)bootstrap.yml
3)application_dev.yml
4)bootstrap_dev.yml
1
0
34
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

файлы начальной загрузки всегда идут первыми: bootstrap.yml, затем bootstrap-{profile}.yml. затем application.yml и application-{profile}.yml.

значения свойств переопределяются следующими файлами, поэтому: a: 1 из application.yml будет переопределен a: 55 из application-{profile}.yml

Спасибо. А если предоставить файл свойств за пределами jar, то он будет первым, верно?

Pale Blue Dot 22.04.2022 20:29

Я не уверен на 100%, но я думаю, что внешние свойства и переменные env переопределяют значения из файлов .yml.

red 22.04.2022 20:32
Ответ принят как подходящий

Как упоминает Весенний документ

Profile specific properties are loaded from the same locations as standard application.properties, with profiles specific files overriding the default ones

Это будет означать, что сначала читается application.yml, а затем читается application_dev.yml и при необходимости переопределяет значения по умолчанию application.yml.

То же самое для bootstrap.yml и bootstrap-dev.yml

Также, как вы можете видеть здесь

bootstrap.yml is loaded before application.yml.

Итак, чтобы ответить на ваш вопрос, порядок должен быть

  1. bootstrap.yml
  2. bootstrap_dev.yml
  3. приложение.yml
  4. application_dev.yml

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