• [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

    参考:


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

  • 相关阅读:
    C语言成长学习题(八)
    C语言成长学习题(七)
    C语言成长学习题(六)
    C语言成长学习题(五)
    Linux下zookeeper下载与安装教程
    Linux下mongoDB下载与安装
    并发容器之阻塞队列DelayQueue的使用案例及源码分析
    原子操作CAS-最小的线程安全
    ThreadLocal定义、使用案例及源码分析
    mac上使用git命令上传项目工程源码至Github/gitee
  • 原文地址:https://www.cnblogs.com/zhengxl5566/p/12268615.html
Copyright © 2020-2023  润新知