Springboot中的多环境开发
目录
多环境开发(yaml版)
多环境开发(yaml版)多配置文件格式
1、主启动配置文件application.yml
2、环境分类配置文件application-pro.yml
3、环境分类配置文件application-dev.yml
4、环境分类配置文件application-test.yml
多环境开发(properties版)多配置文件格式
多环境分组管理
include属性
group属性
maven中控制
多环境开发(yaml版)
yml配置文件中
#启动指定环境spring: profiles: active: dev---#设置生产环境spring: profiles: proserver: port: 88---#设置开发环境spring: profiles: devserver: port: 89---#设置测试环境spring: profiles: testserver: port: 90
测试运行
小结
1、多环境开发需要设置多种常用环境,比如开发、生产、测试环境
2、yaml格式中设置多环境使用---区分环境设置边界
3、每种环境的区别再与加载的配置属性不同
4、启用某种环境是需要指定启动时使用该环境
多环境开发(yaml版)多配置文件格式
分成四个单独的yml配置文件
1、主启动配置文件application.yml
spring: profiles: active: dev
2、环境分类配置文件application-pro.yml
server: port: 80
3、环境分类配置文件application-dev.yml
server: port: 81
4、环境分类配置文件application-test.yml
server: port: 82
测试得
多环境开发配置文件说明:
主配置文件中设置公共配置(全局属性)
环境分类配置文件中常见于设置各自属性(局部)
独立的配置文件有利于维护更新。
多环境开发(properties版)多配置文件格式
和yml基本一致,只是把yml配置文件后缀改成properties然后按照语法格式即可
如:
server.port=9090
注:properties支持多文件的配置,不支持单一文件(即开发测试运行放在一个配置文件中的)
多环境开发独立配置文件书写技巧
多环境分组管理
根据功能对配置文件中的信息进行拆分,并制作成独立的配置文件,命名规则如下
application-devDB.yml
application-devRedis.yml
application-devMVC.yml
include属性
dev中
server: port: 8010
devDB
server: port: 8011
devMVC中
server: port: 8012 servlet: context-path: /ok
在include中, active是主配置,内容最后加载,后加载的相同属性会覆盖前面加载的,加载顺序也是从左到右。
group属性
在SpringBoot2.4之后支持group属性,开始使用group属性替代include属性,降低了配置书写量
使用group属性定义多种主环境与子环境的包含关系。
spring: profiles: active: dev group: "dev": devDB,devMVC "pro": proDB,proMVC
运行结果:
加载的顺序是主配置先加载其余配置按从左到右,所以有相同的部分看最右边的值
maven中控制
env_dev dev <!-- true--> env_pro pro true
application.yml
spring: profiles: active: @profile.active@ group: "dev": devDB,devMVC "pro": proDB
当maven与SpringBoot同时对多环境进行控制时,以Maven为主
SpringBoot使用@..@占位符读取Maven对应的配置属性值
基于SpringBoot读取Maven配置属性的前提下,如果在Idea测试工程师pom.xml每次更新需要手动compile方可以生效