首页 > Java > java教程 > 正文

Java Spring Boot中多环境配置文件的优先级和方法是什么?

PHPz
发布: 2023-04-22 23:28:06
转载
2546 人浏览过

    前言

    提问:springboot项目,开发环境、测试环境和生产环境配置文件如何分开表示?

    答:多profile文件方式

    1、多环境配置(profile)

    1.1、properties文件配置

    application.properties:主配置文件

    主配置文件配置决定加载哪个环境的配置文件

      spring.profiles.active=dev
    登录后复制

    根据spring.profiles.active值,选择加载不同环境配置

    application-{profile}.properties
    登录后复制

    开发、测试、生产环境配置文件:

    • application-dev.properties:开发环境配置文件

    • application-test.properties:测试环境配置文件

    • application-prod.properties:生产环境配置文件

    1.2、YML文件配置

    application.yml:主配置文件
    主配置文件配置决定加载哪个环境的配置文件

      spring:
          profiles:
              active:dev
    登录后复制

    根据spring.profiles.active值,选择加载不同环境配置

    application-{profile}.yml
    登录后复制

    开发、测试、生产环境配置文件:

    • application-dev.yml:开发环境配置文件

    • application-test.yml:测试环境配置文件

    • application-prod.yml:生产环境配置文件

    1.3、修改主配置文件切换配置

    1.3.1、切换生产配置

    #默认配置
    server:
      port: 8080
    #切换配置
    spring:
      profiles:
        active: prod
    登录后复制

    1.3.2、切换开发配置

    #开发环境配置
    server:
      port: 8080
    #切换配置
    spring:
      profiles:
        active: dev
    登录后复制

    1.3.3、切换测试配置

    #测试环境配置
    server:
      port: 8080
    #切换配置
    spring:
      profiles:
        active: test
    登录后复制

    1.4、命令行激活配置文件

    1.4.1、命令行激活配置文件

    java -jar springboot-0.0.1-SNAPSHOT.jar--spring.profiles.active=dev

    1.4.2、虚拟机参数激活

    java -Dspring.profiles.active=dev -jar springboot-0.0.1-SNAPSHOT.jar

    2、默认配置文件

    Spring Boot启动时会扫描以下5个位置的application.properties或apllication.yml文件,并将它们作为 Spring boot的默认配置文件。

    • file:./config/"/

    • file:/config/

    • file:./

    • classpath:/config/

    • classpath:/

    2.1、file

    指当前项目根目录;
    登录后复制

    2.2、classpath

    指当前项目的类路径,即resources目录。

    注意事项:

    • 位于相同位置的 application.properties 的优先级高于application.yml

    • 所有位置的文件都会被加载,高优先级配置会覆盖低优先级配置,形成互补配置,即:

      • 存在相同的配置内容时,高优先级的内容会覆盖低优先级的内容;

      • 存在不同的配置内容时,高优先级和低优先级的配置内容取并集。

    3、外部配置文件

    可通过指定外部配置文件的路径(默认配置文件失效)

    3.1、spring.config.location

      java -jar xxxx.jar --spring.config.location=外部文件
    登录后复制

    3.2、spring.config.additional-location

    默认配置文件公共生效,其优先级是最高。.

     java -jar xxxx.jar --spring.config.additional-location=外部文件
    案例
    登录后复制

    4、配置文件优先级

    以下是常用的 Spring Boot 配置形式及其加载顺序(优先级由高到低)

    • 命令行参数

    • 配置文件(YAML文件、Properties文件)

    • @Configuration 注解类上的@PropertySource 指定的配置文件

    • 通过 SpringApplication.setDefaultProperties指定的默认属性

     配置文件

    Java springboot配置文件、多环境配置与运行优先级的方法是什么

    以上是Java Spring Boot中多环境配置文件的优先级和方法是什么?的详细内容。更多信息请关注PHP中文网其他相关文章!

    相关标签:
    来源:yisu.com
    本站声明
    本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
    热门教程
    更多>
    最新下载
    更多>
    网站特效
    网站源码
    网站素材
    前端模板
    关于我们 免责声明 Sitemap
    PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!