當前位置:編程學習大全網 - 源碼下載 - Spring Boot 第二彈,配置文件詳解-史上最全

Spring Boot 第二彈,配置文件詳解-史上最全

? Spring Boot 官方 提供了兩種常用的配置文件格式,分別是 properties 、 YML 格式。相比於 properties 來說, YML 更加年輕,層級也是更加分明。 強烈推薦使用 YML 格式

? Spring Boot項目 啟動會掃描以下位置的 application.properties 或者 application.yml 作為默認的配置文件.

徒手撕源碼

內部類Loader的load方法

getSearchLocations()方法

asResolvedSet()

下面給出優先級 從高到低 的配置文件排列順序:

以設置應用端口為例 初體驗Spring Boot配置文件

properties後綴結尾(application.properties)

yml/yaml後綴結尾(application.yml/application.yaml)

數字,字符串,布爾,日期

對象、Map

數組

數字,字符串,布爾,日期

對象、Map

數組

@ConfigurationProperties(prefix = "person")詳解

標註在類上

標註在方法上

綜上所述

? @ConfigurationProperties 註解能夠輕松的讓配置文件跟實體類綁定在壹起。

?值得關註的是: @ConfigurationProperties 這個註解僅僅是支持從 Spring Boot的默認配置文件 中取值,也就是 application.properties 、 application.yml 、 application.yaml ,那我們如何從自定義配置文件取值呢?

?別著急,有解決辦法,那就是再加壹個註解: @PropertySource(value = "classpath:custom-profile.properties") ,下面會有對 @PropertySource 註解的介紹。請耐心往下面看。

使用@PropertySource註解

對應配置文件

創建兩個配置文件 custom-profile.yml、custom-profile1.yml ,如下去引入。

我們可以通過控制變量法進行測試,具體過程我這裏就不贅述了。

直接說 結論 吧: Spring加載順序 為 從左到右順序加載 ,後加載的會 覆蓋 先加載的屬性值。

另外需要註意的是 : @PropertySource 默認加載 xxx.properties類型 的配置文件,不能加載 YML格式 的配置文件。如何解決呢?下面來解決這壹問題

對應配置文件:

編寫PropertiesController

擴展功能

application.yml 主配置文件

application-dev.yml 開發配置文件

application-prod.yml 生產配置文件

application-test.yml 測試配置文件

(1)主配置文件:配置激活選項

(2)其他配置文件:指定屬於哪個環境(同yml,只不過表現形式是 key=value 的,三個配置文件分別是: application-dev.properties , application-prod.properties , application-test.properties )

?無論是使用上述 多文檔塊 的方式,還是新建 application-test.yml 文件,都可以在配置文件中指定 spring.profiles.active=test 激活指定的profile。

感謝閱讀小生文章。祝大家早日富可敵國,實現財富自由。

寫文不易 ,壹定要 點贊、評論、收藏哦 , 感謝感謝感謝!!!

  • 上一篇:ASP代碼用的操作access數據庫命令語法大全哪裏有
  • 下一篇:學生評價系統源代碼
  • copyright 2024編程學習大全網