不希望将例如各种云服务的 ID、密码等隐私信息,上传至 GitHub 等地方等开源的地方
.env
是什么.env
文件一般用于存储项目的环境变量,一般像云服务密码、数据库 ip 等信息都可以在 .env
文件中存放,而不是明文放置于项目的配置文件中(例如 application.yml
)。
通常,软件 or 框架都有方法来支持 .env
文件的加载配置(而非让工程师在项目加载阶段手写加载环境变量的程序)。
以下介绍如果通过 Spring Boot 框架与 .env
文件对隐私信息进行保存、加载与使用。
.gitignore
文件中加入 .env
.env
文件中一般可以存储隐私信息,我们不想将这些隐私信息上传到 GitHub 等开源仓库时,就必须将 .env
文件进行相应的配置,即配置其被 git 所 ignored:
.vscode/
.idea/
...
.env
.env
文件.env
文件以 K-V 形式存储数据,文件格式形同 *.properties
,建议将 Key 进行大写操作:
USERNAME=username
PASSWORD=password
application.yaml
中进行配置并使用在 application.yml
中配置 spring.config.import
即可:
spring:
config:
import: optional:file:.env[.properties]
app:
username: ${USERNAME}
password: ${PASSWORD}