[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