[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

參考:


歡迎掃碼關注我的個人公眾號,獲取最新文章↓


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM