使用 .env 文件进行外部配置

Jmix Studio 支持使用 .env 文件将配置外部化。即可以将不同环境的变量与 application.properties 文件分开存储,从而更容易地管理开发、测试和生产环境中的不同配置。

Studio 如何解析占位符

Studio 按以下顺序解析 properties 文件中的占位符(当成功解析到值时,每个步骤都会覆盖前一步的值):

  1. 系统环境变量

  2. 对另一个应用程序属性的引用(如果该属性包含占位符,则返回步骤 1 继续处理)

  3. 通过 spring.config.import 属性指定的附加配置文件

使用 .env 文件

.env 文件放在 项目根目录(而不是 resources 目录)中,并在 application.properties 添加以下属性:

application.properties
spring.config.import=optional:file:.env[.properties]
也可以将此属性添加到 特定 profile 的配置文件 中(例如 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}

当通过 spring.config.import 引入 .env 文件时,Jmix Studio 会在 Jmix 工具窗口Configuration 节点下显示,便于访问和编辑。