Внешняя конфигурация Springboot с другим именем файла - PullRequest
0 голосов
/ 20 октября 2019

Я изучаю внешнюю конфигурацию весенней загрузки. Я бы хотел, чтобы мое приложение считывало конфигурацию из любого внешнего файла (/Users/<userid>/application.properties).

Я создал проект Spring-Web и добавил запись spring.config.location=${user.home} в src/main/resource/application.properties

testConfigэто имя свойства конфигурации, к которому я пытаюсь получить доступ с помощью приведенного ниже кода в моем классе контроллера.

 @Value("${testConfig})
 private String configValue;

Я дал разные значения для testConfig в разных местах.

testConfig=InsideJar insrc/main/resources/application.properties файл. testConfig=ApplicationRoot в корневом каталоге проекта application.properties файл.
testConfig=homeDir в домашнем каталоге пользователя /User/<userid>/application.properties файл.

Как я запустил приложение и каков результат?

1. From different directory than project root  

Команда : java -jar ../Downloads/first-springboot-app/target/first-springboot-app-0.0.1-SNAPSHOT.jar -Dspring.config.location=file:/User/${LOGNAME}/application.properties Результат : InsideJar Ожидаемый результат : homeDir

.

2. From Project root directory    

Команда : java -jar target/first-springboot-app-0.0.1-SNAPSHOT.jar -Dspring.config.location=file:/Users/${LOGNAME}/application.properties

Результат : applicationRootDir Ожидаемый результат : homeDir

3. Added spring.config.name=application
4. Added spring.config.name=application.properties

Оба вышеприведенных (3,4) дали одинаковый результат.
Результат : applicationRootDir Ожидаемый результат : homeDir.

Я уже прошел по ссылкам ниже и другим блогам.
Springboot doc
SO , SO .

Вопрос / проблема : Почему значение (homeDir) не взято из Users/<userid>/application.properties?
Любая помощь будет высоко оценена.

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