IDEA多环节实现优雅配置
写在前面
后端项目中涉及多环境、多配置文件、多代码分支的情况下,进行对服务中间件等配置。除了可以使用集成开发功能IDEA中的git隐藏功能之外,还可以使用IDEA中配置的环境变量进行配置。
使用Git隐藏分支代码功能的弊端
虽然可以使用Git自带的隐藏功能进行对分支代码的隐藏,但是如果切换分支,不能重复隐藏。且取消隐藏极易出现分支之间配置文件的冲突。
并不推荐使用。
如何采用配置IDEA启动环境变量进行实现?
选择左上角的编辑配置
选择修改选项中增加环境变量配置
选择对应的.env脚本
.env 脚本如何填写
这里需要说明一下:
- 要实现这些配置有一个限制就是涉及到的服务中间件需要设置账号密码不然使用不了。
- 具体的配置文件写法需要在yml文件中配置${占位符名称:默认值},假如你需要使用es服务,那么你的占位符可以写成是
uris: ${ELASTICSEARCH_CLUSTER:localhost:9200}
代码语言:tex复制ELASTICSEARCH_CLUSTER=xxxxxx
ELASTICSEARCH_USERNAME=xxxxx
ELASTICSEARCH_PASSWORD=xxxxx
MYSQL_HOST=xxxxxx
MYSQL_PORT=xxxxxxx
MYSQL_DBNAME=xxxxxxxx
MYSQL_USER=xxxxxxxxx
MYSQL_PWD=xxxxxxxxxx
REDIS_PWD=shuyixiao
RABBITMQ_USER=shuyixiao
RABBITMQ_PASSWORD=shuyixiao
附录-解释一下.env文件是什么
.env
文件是一种用于存储环境变量的文件,通常用于开发环境中。它允许开发者将配置信息(如数据库连接信息、API 密钥等)从代码中分离出来,从而提高安全性和灵活性。这种文件格式简单,易于维护。
格式
.env
文件的格式非常简单,每一行定义一个环境变量,格式如下: VARIABLE_NAME=value
在 Spring Boot 项目中,.env
文件中的变量可以通过以下机制被加载到 Spring 的环境变量中,从而在 application.yml
文件中生效。下面展示其中一种
使用 spring-boot-maven-plugin
插件
代码语言:maven复制<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<environmentVariables>
<file>${project.basedir}/.env</file>
</environmentVariables>
</configuration>
</plugin>
</plugins>
</build>