Spring использует одно application.properties для производства и другое для отладки
У меня есть приложение Spring, и я хотел бы иметь возможность переключаться между конфигурациями в зависимости от того, отлаживаю ли я сервер или работает ли он в работе. (Разница в конфигурациях заключается в таких вещах, как местоположение базы данных.)
В идеале я хотел бы передать аргумент командной строки моему приложению Spring при загрузке и установить конфигурацию приложения.
У меня есть два отдельных файла application.properties, один со значениями производства, а другой со значениями отладки. Как я могу переключиться между ними?
2 ответа
Вы можете иметь 3 файла свойств, application-dev.properties
, application-prod.properties
а также application.properties
, И вы можете указать все свойства разработки в вашем файле свойств dev и свойства cionfiguration в вашем файле prod
и укажите свой профиль в своем application.properties
файлы, как показано ниже
spring.profiles.active=dev
или вы можете выбрать / переопределить профиль, используя -Dprofile=
аргумент в командной строке.
Весенние профили кажутся подходящими. Вы можете запустить свое приложение с чем-то вроде -Dprofile=. Посмотрите на этот пример.
РЕДАКТИРОВАТЬ: после перечитывания вашего вопроса, я пришел к выводу, что вы на самом деле хотите что-то более базовое: внешние свойства вашей базы данных. В зависимости от вашего приложения вы можете использовать @Value конфигуратора свойств. Посмотрите на весенние документы.