Как запустить springboot приложение с локальными настройками (локальным профилем)

Иногда возникает необходимость использовать для запуска приложения или тестов локальные настройки. Чтобы не перезаписывать конфигурационные файлы application.properties или application.yml можно создать отдельный файл настроек и в коде указать их использование.

1. Создание файла настроек сводится к созданию в папке приложения или тестов resources файла с именем application-local.properties или application-local.yml. Файл можно просто скопировать с текущего и затем переименовать. После чего, можно заполнить новый файл настройками локального запуска.

2. Затем в коде нужно указать использование нового профиля. Варианта два. Указать на новый профиль в основном файле настроек или аннотировать класс.

2.1 Для использования локального профиля при запуске приложения:
В основном файле настроек подключаем локальный профиль
spring.profiles.active=local
Либо аннотируем класс помеченный как @SpringBootApplication аннотацией
@ActiveProfiles(“local”)
Но я бы рекомендовал первый вариант, т.к. изменять текст файла настроек более нормально чем исходный код приложения.

2.2. Для использования при запуске теста:
Аннотируем класс теста помеченного как @SpringBootTest аннотацией
@ActiveProfiles(“local”)
Также можно прописать в файле ресурса теста настройку
spring.profiles.active=local
Но рекомендуется первый вариант, т.к. в идеале в тестах должна использоваться конфигурация аналогичная конфигурации приложения.

Можно еще добавить команду для запуска приложения в VM Options:
-Dspring.profiles.active=prod

Или в idea включить использование профиля (есть в новых версиях). Run – Edit configurations

Поделиться:

Вам может также понравиться...