zoukankan      html  css  js  c++  java
  • [SpringBoot] 使用yaml文件实现多配置

    SpringBoot 使用yaml文件实现多配置

    SpringBoot利用yaml文件实现多配置有两种方式:

    1. 单个yml中编写多个配置(Multi-profile YAML Documents)
    2. 编写多个yml文件,分别代表不同的配置(multiple YAML documents)

    下面详细介绍这两种方式的使用

    一、单个yml中编写多个配置(Multi-profile YAML Documents)

    在一个yml文件中,通过 --- 分隔多个不同配置,根据spring.profiles.active 的值来决定启用哪个配置,例如:

    #公共配置
    spring:
      profiles:
        active: pro #使用名为pro的配置,这里可以切换成dev
      datasource:
        url: jdbc:mysql://localhost:3306/test_db?serverTimezone=UTC&useSSL=false&allowPublicKeyRetrieval=true
        password: 123456
        username: root
    ---
    #开发环境配置
    spring:
      profiles: dev #profiles属性代表配置的名称
    
    server:
      port: 8080
    ---
    #生产环境配置
    spring:
      profiles: pro
    
    server:
      port: 80
    

    二、编写多个yml文件,分别代表不同的配置(Multiple YAML Documents)

    将配置编写在多个yml文件中,根据spring.profiles.active 的值来决定启用哪个配置。

    配置文件规则如下:

    1. 文件命名需要符合application-{profile}.yml的格式,如:application-dev.yml
    2. 通用配置写到application.yml中,不同的环境配置写到不同的yml文件中

    例如:

    application.yml

    #公共配置
    spring:
      profiles:
        active: pro #使用名为pro的配置,这里可以切换成dev
      datasource:
        url: jdbc:mysql://localhost:3306/test_db?serverTimezone=UTC&useSSL=false&allowPublicKeyRetrieval=true
        password: 123456
        username: root
    

    application-dev.yml

    server:
      port: 8080
    

    application-pro.yml

    server:
      port: 80
    

    总结

    • 两种配置方式根据个人喜好使用,但如果配置很多,建议拆成多个yml文件,即方式二。便于维护
    • 注意区分二者的不同,不能混用

    彩蛋

    工程打成jar包后,我们可以通过运行参数指定加载配置,而不用每次都修改配置打新包,例如:

    java -jar xxx.jar --spring.profiles.active=pro

    参考:


    欢迎扫码关注我的个人公众号,获取最新文章↓

  • 相关阅读:
    app后端session共享问题
    nignx
    dubbo
    lucene&solr-day1
    SSM框架整合,以CRM为例子
    SpringMVC入门第二天
    HBase集群搭建
    SecureCRT的Home+End+Del键映射
    记一次让人的喷血的排错经历
    基于docker搭建mysql集群
  • 原文地址:https://www.cnblogs.com/zhengxl5566/p/12268615.html
Copyright © 2011-2022 走看看