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

 更新时间:2021年04月14日 10:48:05   作者:飞火龙在天  
这篇文章主要介绍了springboot多模块多环境配置文件问题(动态配置生产和开发环境),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

第一种情况:

spring.profiles.active=环境变量

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

dev代表开发环境:

prod代表生产环境

pom.xml里面配置profiles:

<profiles>
    <profile>
        <id>dev</id>
        <activation>
         <!--  默认激活-->
            <activeByDefault>true</activeByDefault>
        </activation>
        <properties>
            <spring.profiles.active>dev</spring.profiles.active>
        </properties>
    </profile>
    <profile>
        <id>prod</id>
        <properties>
            <spring.profiles.active>prod</spring.profiles.active>
        </properties>
    </profile>
</profiles>

系统环境变量配置:

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

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}

在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多模块多环境内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • SpringMVC的@InitBinder参数转换代码实例

    SpringMVC的@InitBinder参数转换代码实例

    这篇文章主要介绍了SpringMVC的@InitBinder参数转换代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-09-09
  • maven的pom.xml中profiles的作用详解

    maven的pom.xml中profiles的作用详解

    这篇文章主要介绍了maven的pom.xml中profiles的作用详解,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-12-12
  • SpringJPA 做分页条件查询的代码实践

    SpringJPA 做分页条件查询的代码实践

    相信小伙伴们的项目很多都用到SpringJPA框架的吧,对于单表的增删改查利用jpa是很方便的,但是对于条件查询并且分页 是不是很多小伙伴不经常写到,今天给大家分享SpringJPA 做分页条件查询的案例代码,感兴趣的朋友一起看看吧
    2024-03-03
  • Spring Junit测试找不到SpringJUnit4ClassRunner.class的解决

    Spring Junit测试找不到SpringJUnit4ClassRunner.class的解决

    这篇文章主要介绍了Spring Junit测试找不到SpringJUnit4ClassRunner.class的解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-04-04
  • java中CopyOnWriteArrayList源码解析

    java中CopyOnWriteArrayList源码解析

    为了将读取的性能发挥到极致,jdk中提供了CopyOnWriteArrayList类,下面这篇文章主要给大家介绍了关于java中CopyOnWriteArrayList源码解析的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2022-02-02
  • springboot zuul实现网关的代码

    springboot zuul实现网关的代码

    这篇文章主要介绍了springboot zuul实现网关的代码,在为服务架构体系里,网关是非常重要的环节,他实现了很多功能,具体哪些功能大家跟随小编一起通过本文学习吧
    2018-10-10
  • 简单的java读取文件示例分享

    简单的java读取文件示例分享

    这篇文章主要介绍了java读取txt文件内容,示例很简单,代码里有注释,大家直接看代码吧
    2014-01-01
  • 五种SpringBoot实现数据加密存储的方式总结

    五种SpringBoot实现数据加密存储的方式总结

    这篇文章主要为大家详细介绍了五种常见数据加密存储的方法(结合SpringBoot和MyBatisPlus框架进行实现),文中的示例代码讲解详细,需要的可以参考下
    2023-11-11
  • Java程序执行时间的2种简单方法

    Java程序执行时间的2种简单方法

    这篇文章介绍了Java程序执行时间的2种简单方法,有需要的朋友可以参考一下
    2013-09-09
  • maven如何使用profiles多环境配置

    maven如何使用profiles多环境配置

    在软件开发过程中,我们经常需要在不同的环境中部署和运行我们的应用程序,例如开发环境、测试环境和生产环境,为了方便管理和配置不同环境下的参数,我们可以使用Maven的profiles功能,本文给大家介绍maven如何使用profiles多环境配置,感兴趣的的朋友一起看看吧
    2024-02-02

最新评论