Springboot的多配置文件,怎么配置


profile是Spring對不同環境提供不同配置功能的支持,可以通過激活不同的環境版本,實現快速切換環境;

多配置文件
我們在主配置文件編寫的時候,文件名可以是 application-{profile}.properties/yml , 用來指定多個環境版本;

例如:


application-test.properties 代表測試環境配置

application-dev.properties 代表開發環境配置

但是Springboot並不會直接啟動這些配置文件,它默認使用application.properties主配置文件;

我們需要通過一個配置來選擇需要激活的環境:

比如在配置文件中指定使用dev環境,我們可以通過設置不同的端口號進行測試;
我們啟動SpringBoot,就可以看到已經切換到dev下的配置了;
spring.profiles.active=dev

yaml的多文檔塊

和properties配置文件中一樣,但是使用yml去實現不需要創建多個配置文件,更加方便了 !

server:
  port: 8081
#選擇要激活那個環境塊
spring:
  profiles:
    active: prod

---
server:
  port: 8083
spring:
  profiles: dev #配置環境的名稱


---

server:
  port: 8084
spring:
  profiles: prod  #配置環境的名稱
注意:如果yml和properties同時都配置了端口,並且沒有激活其他環境 , 默認會使用properties配置文件的!

配置文件加載位置
外部加載配置文件的方式十分多,我們選擇最常用的即可,在開發的資源文件中進行配置!

官方外部配置文件說明參考文檔

圖片

springboot 啟動會掃描以下位置的application.properties或者application.yml文件作為Spring boot的默認配置文件:

application.properties 優先級從高到低,application.yml文件優先級也一樣
級別高的會覆蓋級別低的,級別高沒有的,級別低有的配置項會同樣生效

1、-- 項目根目錄config文件夾里面(優先級最高)  
./config/  
   
2、--項目根目錄  
./    
   
3、-- src/main/resources/config/文件夾里面  
classpath:/config    
   
4、-- src/main/resources/  
#classpath:/     

1-4優先級從高到低,優先級高的配置內容會覆蓋優先級低的配置內容
server.port=8081
優先級由高到底,高優先級的配置會覆蓋低優先級的配置;


免責聲明!

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



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