[SpringBoot] 使用yaml文件实现多配置


转载自:https://www.cnblogs.com/zhengxl5566/p/12268615.html

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

参考:


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM