SpringBoot多环境的yml或properties配置,生产环境和开发环境分离(超详细)
文档说明本文用到的项目讲解接我的上一篇文档,项目代码仓库地址点这里。开发步骤首先我们建立两个文件,分别为 application-dev.yml 和 application-prod.yml 分别代表开发环境和生产环境的配置:# 开发环境的配置 application-dev.ymlserver:port: 8080 # 设置端口号为 8080# 生产环境的配置 application-prod.
文档说明
开发步骤
首先我们建立两个文件,分别为 application-dev.yml 和 application-prod.yml 分别代表开发环境和生产环境的配置:
# 开发环境的配置 application-dev.yml
server:
port: 8080 # 设置端口号为 8080
# 生产环境的配置 application-prod.yml
server:
port: 80 # 设置端口号为 80
在来在 application.yml 当中添加一行配置
spring:
profiles:
active: ${SPRING_PROFILES_ACTIVE}
${SPRING_PROFILES_ACTIVE} 的意思是读取名为 SPRING_PROFILES_ACTIVE 的环境变量

然后我们来配置一下计算机的环境变量

到idea当中查看环境变量

如果查看没有那么就到项目地址当中删除一下两个文件然后从新导入项目

接下来我们运行项目并查看运行日志,可以看到使用的是 dev 的环境,也就是使用的是 application-dev.yml 这个配置文件,端口号是8080

然后将该项目打成jar包,依照官方文档我们需要新增一个插件,以方便制作一个可运行的jar包

代码如下:
<build>
<plugins>
<!-- 制作一个可运行的 jar 包需要的插件 -->
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
复制到 pom.xml 文件中

然后我们来到文件管理器中 pom.xml 所在的目录下运行一下命令以打包该项目(前提是配置好了maven的环境变量)
mvn package -Dmaven.test.skip
看到以下界面代表打包成功

我们也可以用idea工具进行打包

然后我们还是可以看到这个打包成功的提示

打包完成后可以在项目的 target 目录下找到该jar文件

然后我们来到Linux生产环境,其必须安装好 jdk 和 MySQL,可以参考我写的两篇文章 jdk1.8安装 和 MySQL5.7.32安装,然后配置Linux环境变量,使用 vim /etc/profile 命令,添加上一下配置
SPRING_PROFILES_ACTIVE=prod
export SPRING_PROFILES_ACTIVE
如图:

保存退出后我们将jar包拿到Linux当中来

使用 java -jar demo-user-1.0-SNAPSHOT.jar 运行它,可以看到环境是生产环境,也就是使用的 application-prod.yml 端口号也是80:

时间不早了,下课,家庭作业:自行测试
(代码已经更新至git仓库)
精彩预告(更新预告)
- 使用maven快速搭建SpringBoot的SSM项目
- 根据环境选择不同的配置,如开发环境一套配置,测试环境一套生产环境又一套
- 整合 RestControllerAdvice 做异常统一处理,坚决不把异常抛出给前端
- 整合 Spring Validated 做数据校验
- 整合 redis 做数据缓存
- 整合 Spring Cloud 做微服务注册调用
更多推荐




所有评论(0)