二、多环境开发
1.概述
-
概述:开发环境、测试环境、生产环境
-
分类
-
开发环境
spring:datasource:druid:url: jdbc:mysql://localhost:3306/springboot_ssmusername: rootpassword: 123456driver-class-name: com.mysql.cj.jdbc.Driver
-
测试环境
spring:datasource:druid:url: jdbc:mysql://测试环境服务器地址:3306/springboot_ssmusername: rootpassword: 123456driver-class-name: com.mysql.cj.jdbc.Driver
-
生产环境
spring:datasource:druid:url: jdbc:mysql://阿里云地址:3306/springboot_ssmusername: rootpassword: adminrootdriver-class-name: com.mysql.cj.jdbc.Driver
-
2.单文件控制多环境开发
-
单文件多环境的使用
server:port: 8082
-
配置多环境的时候使用 — 隔开
server:port: 8082 --- server:port: 8888
-
使用 spring profiles 区分是什么环境
spring:profiles: dev server:port: 8082 --- spring:profiles: test server:port: 8888--- spring:profiles: prod server:port: 9999
-
设置启动环境
spring:profiles:active: test --- #开发环境 spring:profiles: dev server:port: 8082 --- #测试环境 spring:profiles: test server:port: 8888--- #生产环境 spring:profiles: prod server:port: 9999
3.properties 多文件多环境开发
-
图示
-
主配置文件
spring.profiles.active=dev
-
开发环境
# 应用名称 spring.application.name=springboot-dev # 应用服务 WEB 访问端口 server.port=8082
-
测试环境
# 应用名称 spring.application.name=springboot-test # 应用服务 WEB 访问端口 server.port=8888
-
生产环境
# 应用名称 spring.application.name=springboot-prod # 应用服务 WEB 访问端口 server.port=9999
4.yml 多文件多环境开发
-
图示
-
新建主配置
spring:profiles:active: test
-
开发环境
server:port: 8082
-
测试环境
server:port: 8888
-
生产环境
server:port: 9999
5.多环境开发抽取独立配置
-
背景:因为全部把配置配置到一个大文件里面,很多很乱,所以有的公司就使用拆分配置的方式来解决独立的配置耦合太严重的问题
-
图示
-
如果需要用到devredis 中的 redis 配置,直接在主配置中引入即可
spring:profiles:active: devinclude: devmysql,devredis
-
这种切换还是存在问题,每次都得修改 include 中的value 值,所以,2.4版本之后新加了一个 group,将dev和test分组,只需要改变active值对应group的值
spring:profiles:active: devgroup:"dev": devmysql,devredis"test": testmysql,testredis
6.总结
- 总结
- 实际开发中,多环境开发很常用
- dev 开发环境
- test 测试环境
- prod 生产环境