файл application.properties из дочернего приложения не переопределяет файл application.properties в основном приложении - PullRequest
0 голосов
/ 23 февраля 2019

Я новичок в весенней загрузке, у меня возникло недоразумение, что, когда все источники свойств в весеннем приложении, такие как application.properties, my.properties, application- {profile} .properties, попадают в среду, тогда почему они неполучить переопределение.если есть какой-то общий ключ в двух разных файлах свойств.

например, если я создаю один дочерний проект и в нем есть один application.properties и имеет propety, скажем 'name = child' и создайте jar этогоспроектируйте и добавьте этот jar в мой основной проект и основной проект, также имеющий файл application.properties с тем же ключом, но другим значением, скажем, «name = parent», если я весной использую класс Envionment и получу env.getProperty (key), тогда онпоказывает родителя.По мне, это должно быть 'child', потому что, если все свойства собираются в одном месте, тогда два одинаковых ключа с разными значениями не могут существовать.

А также у меня путаница в Упорядочении файла свойств.Означает ли это, что если он получит свойство в первом файле, он не получит второй файл для поиска этого объекта?

1 Ответ

0 голосов
/ 24 февраля 2019

Spring boot имеет порядок оценки всех источников свойств.Они перечислены здесь: https://docs.spring.io/spring-boot/docs/current/reference/html/boot-features-external-config.html

Таким образом, в основном Spring знает обо всех свойствах, которые ему нужны для получения.Затем он оценит, где их взять.В вашем случае он сначала оценивает ваш файл {profile} .properties.Если он не может найти то, что ему нужно, он войдет в ваши обычные application.properties.Так что, если вы ожидаете, что значения application.properties перезапишут значение {profile}, это не произойдет.

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