Spring Boot Deployment в разных средах

Я довольно новичок в весенней загрузке, мы работаем над приложением весенней загрузки (упаковка как файл war). При развертывании этого файла war в более высоких средах на сервере Tomcat: 1. Можем ли мы настроить application.properties для разных сред внутри войны (будь то dev, int, uat, prod)? ИЛИ 2. Когда настроено application.properties, можем ли мы поместить это в папку conf в tomcat, Вне файла war. (Аналогично вставке context.xml в традиционное веб-приложение), и приложение все равно его подберет?

2 ответа

Да, вы можете установить разные профили для разных сред. Давайте предположим, что у нас есть dev, qa а также prod сред. Вам нужно создать три файла в одном месте, где application.properties расположен с такими именами, как:

  • application-dev.properties за dev среда
  • application-qa.properties за qa среда
  • application-prod.properties за prod среда

Теперь вам просто нужно установить spring.profiles.active=qa в application.properties, В настоящее время мы устанавливаем qa профиль. Вы можете установить то, что вы хотите.

Примечание. Свойства, установленные в новом созданном профиле, будут доступны только для активного профиля. Например, если вы установите некоторые свойства в dev файл, он будет доступен только для dev среда. Но свойства установлены в application.properties будет доступно для всей среды. Таким образом, конфигурации, которые не зависят от среды, могут быть размещены в application.properties

Вы можете настроить различные профили для вашей среды. Для вашей dev-среды вы можете добавить application-dev.properties (или.yml) или для PROD application-prod.properties, а затем просто запустить ваше приложение с этим профилем.

См. https://docs.spring.io/spring-boot/docs/current/reference/html/boot-features-profiles.html

Другие вопросы по тегам