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