背景
不希望将例如各种云服务的 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
第三步:在 Spring Boot 的 application.yaml
中进行配置并使用
在 application.yml
中配置 spring.config.import
即可:
spring:
config:
import: optional:file:.env[.properties]
app:
username: ${USERNAME}
password: ${PASSWORD}