> 文档中心 > Springboot中的多环境开发

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方可以生效

神片云