将 dotenv 文件与 Spring 引导一起使用

Using dotenv files with Spring Boot

我想使用 dotenv 文件来配置我的 Spring 启动应用程序。

最好的方法是什么?

Ruby or Node 世界中,我只是创建 .env 文件并将所有内容从那里加载到应用程序环境。

我不喜欢为我的应用等创建单独的配置文件。我只想将我在文件中指定的任何环境变量加载到我的应用中。

实际上 'dotenv' 工具有一个 java 端口。

https://github.com/cdimascio/dotenv-java

我已经在 Spring 和 dotenv 之间建立了适当的集成。

按照此 thread 了解动机。然后复习图书馆:

在此处查看 spring-dotenv 库:
https://github.com/paulschwarz/spring-dotenv

该库包含一个示例应用程序来向您展示如何使用它,您会看到与 Spring 的集成非常自然:

https://github.com/paulschwarz/spring-dotenv/tree/master/application/src/main/resources

我在设计这个库时坚持两个原则:

  1. https://12factor.net/config
  2. 允许您的代码完全不知道 dotenv,以便您继续使用正常的 Spring 技术引用您的应用程序。yml/application.properties 文件。没有有趣的事情。

在 spring 引导中只需在 application.yml

中执行此操作
---
spring:
    config:
      import: optional:file:.env[.properties]

username: ${USERNAME}

或者如果您使用 application.properties

spring.config.import=optional:file:.env[.properties]
username=${USERNAME}

那么@value 和所有其他东西都可以工作