springboot多模块多环境配置文件问题(动态配置生产和开发环境)

第一种情况:

spring.profiles.active=环境变量

springboot多模块多环境配置文件问题(动态配置生产和开发环境)_第1张图片

配置两个环境的,可根据实际需要增加环境模式(开发环境dev,测试环境test,回归坏境retu,预生产环境pre,生产环境prod,等等)

dev代表开发环境:

springboot多模块多环境配置文件问题(动态配置生产和开发环境)_第2张图片

prod代表生产环境

springboot多模块多环境配置文件问题(动态配置生产和开发环境)_第3张图片

pom.xml里面配置profiles:


    
        dev
        
         
            true
        
        
            dev
        
    
    
        prod
        
            prod
        
    

springboot多模块多环境配置文件问题(动态配置生产和开发环境)_第4张图片

系统环境变量配置:

springboot多模块多环境配置文件问题(动态配置生产和开发环境)_第5张图片

在本地,如果在这些文件里面配置端口和路径:

appilacton.yml:

server:
  port: 8087
  servlet:
    context-path:  /miservice

application-dev.yml:

server:
  port: 8088
  servlet:
    context-path:  /miservice-dev

application-prod.yml:

server:
  port: 8087
  servlet:
    context-path:  /miservice

有效的是:8088那个配置。

在本地,如果分环境没有配置,就以主环境为主:

appilacton.yml:

server:
  port: 8087
  servlet:
    context-path:  /miservice

application-prod.yml:

server:
  port: 8089
  servlet:
    context-path:  /miservice-prod

则是8087这个是有效的。

小结1:

application.yml引入配置为:

spring:
        profiles:
           active:   ${env}

即:配置读取顺序为:application.yml>>application-dev.yml

 第二种情况:

如果想多个模块的配置文件都起作用,可将application.yml文件配置到具体的模块去:

spring:
        profiles:
           active:   miservice, ${env}

springboot多模块多环境配置文件问题(动态配置生产和开发环境)_第6张图片

springboot多模块多环境配置文件问题(动态配置生产和开发环境)_第7张图片

在application.yml和application-miservice.yml和application-dev.yml三个文件中:如果都有端口或路径配置,则读取application-dev.yml里面的配置,关闭application-dev.yml里面的配置则读取application-miservice.yml里面的配置,最后读取application.yml

里面的配置。

application.yml引入配置为:

spring:
        profiles:
           active:   miservice, ${env}

即:配置读取顺序为:application-dev.yml>>application-miservice.yml>>application.yml

修订一下:上面的结论是刚开始总结的,后面发现读取顺序是按文件的顺序从下到上读取的。即按结构顺序

到此这篇关于springboot多模块多环境配置文件问题(动态配置生产和开发环境)的文章就介绍到这了,更多相关springboot多模块多环境内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

你可能感兴趣的:(springboot多模块多环境配置文件问题(动态配置生产和开发环境))