美文网首页
SpringBoot多文档配置

SpringBoot多文档配置

作者: 喵星人ZC | 来源:发表于2019-11-26 20:50 被阅读0次

    当我们的的resouces下有application.yml、application.yaml、application.properties三个配置文件,配置的端口分别为8080/8081/8082。当启动应用程序时用的哪个配置文件??

    我们根据源码来看看三个文件的加载顺序


    image.png

    按住ctrl键点进spring-boot-starter-parent里面,会看到如下配置

      <resource>
            <filtering>true</filtering>
            <directory>${basedir}/src/main/resources</directory>
            <includes>
              <include>**/application*.yml</include>
              <include>**/application*.yaml</include>
              <include>**/application*.properties</include>
            </includes>
          </resource>
    

    由此可见三个文件加载顺序为首先加载yml,再加载yaml、最后加载properties。所以程序最终启动在8082端口上,因为后加载的会覆盖前面的!

    一、properties配置文件的多文档
    现有三个配置文件

    application.properties          --默认配置   端口号:9090
    application-dev.properties    --开发环境  端口号:9091
    application-prod.properties   --生产环境 端口号:9092
    

    启动程序默认走的是application.properties


    image.png

    当我们想dev配置生效时,在application.properties 中配置上spring.profiles.active

    server.port=9090
    
    spring.profiles.active=dev
    
    image.png

    当我们上生产时需要prod配置生效时,在application.properties 中配置上spring.profiles.active

    server.port=9090
    
    spring.profiles.active=prod
    
    image.png
    • 除了在application.properties中配置外,我们还可以通过JVM配置

    1、使用JVM参数,注释掉spring.profiles.active=prod

    配置JVM参数


    image
    image.png
    image.png

    二、yml的多文档配置

    这个很简单,resources下创建application.yml,然后进行如下配置,在同一文件中实现就行

    server:
      port: 9090
    spring:
      profiles:
        active: dev
    
    ---
    server:
      port: 9091
    spring:
      profiles: dev
    ---
    
    server:
      port: 9093
    spring:
      profiles: prod
    
    
    image.png

    相关文章

      网友评论

          本文标题:SpringBoot多文档配置

          本文链接:https://www.haomeiwen.com/subject/vtwywctx.html