Внешняя конфигурация с использованием .env файлов

Jmix Studio обеспечивает поддержку использования .env файлов для вынесения конфигурации за пределы приложения. Это позволяет хранить переменные, специфичные для окружения, отдельно от вашего файла application.properties, что упрощает управление различными конфигурациями для сред разработки, тестирования и производства.

Как Studio разрешает плейсхолдеры

Studio разрешает плейсхолдеры из файлов свойств в следующем порядке (каждый следующий шаг переопределяет предыдущий, когда значение было успешно разрешено):

  1. Переменные окружения системы

  2. Ссылки на другое свойство приложения (если это свойство содержит плейсхолдер, процесс возвращается к шагу 1)

  3. Дополнительные файлы конфигурации, указанные через свойство spring.config.import

Работа с .env файлами

Поместите ваш .env файл в корневой каталог проекта (не в resources) и добавьте следующее свойство в ваш application.properties:

application.properties
spring.config.import=optional:file:.env[.properties]
Вы также можете добавить это свойство в конфигурационный файл для конкретного профиля, например application-local.properties, и Studio правильно его разрешит.
Для получения более подробной информации о механизме spring.config.import обратитесь к документации Spring Boot.

Пример файла .env:

env
DB_URL=jdbc:postgresql://localhost:5432/mydb
DB_USERNAME=root
DB_PASSWORD=secret
.env файл может называться либо .env, либо .env.properties. Поддерживаются оба расширения.

Пример файла application.properties:

application.properties
spring.config.import=optional:file:.env[.properties]

main.datasource.url=${DB_URL}
main.datasource.username=${DB_USERNAME}
main.datasource.password=${DB_PASSWORD}

Когда .env файл подключен через spring.config.import, Jmix Studio отображает его в Окне инструментов Jmix в узле Configuration, что обеспечивает легкий доступ для редактирования.