Spring Boot 配置檔案 application.properties
阿新 • • 發佈:2019-12-31
一、springBoot配置檔案的格式
在Springboot 配置檔案中,一般為以下兩個格式:
properties
yaml
複製程式碼
二、使用yaml的原因:
- yaml格式的配置檔案,結構具有層次性,簡潔明瞭
- yaml的配置資料是有序的,properties是無序的,比如配置shiro攔截鏈,應該先配置anon,系統不進行攔截,然後攔截所有其他請求,如果使用properties會導致順序顛倒
properties:
yaml:
三、配置檔案存放位置
優先順序:從上往下遞減
- 當前專案根目錄下的 config 目錄下
- 當前專案的根目錄下
- resources 目錄下的 config 目錄下
- resources 目錄下
(圖片來自:江南一點雨)
現在需求:配置檔案讀取resources中config資料夾裡面的application.properties
如圖所示:設定
configurations:
spring.config.localtion=classpath:/config/
複製程式碼
也可以在啟動命令中設定:
java -jar gofly-0.0.1-SNAPSHOT.jar --spring.config.location=classpath:/config/
複製程式碼
四、設定不同的檔名
檔名:gofly.properties
複製程式碼
配置檔名不僅僅叫做application.properties,也可以叫做其他的名稱
configurations:
spring.config.name = gofly
複製程式碼
注意:在Environment variables也可以同時配置 ==路徑 檔名==
五、普通屬性注入
1、預設配置檔案
在SpringBoot中會自動載入application.properties配置檔案,所以普通屬性可以寫在配置檔案中
注意⚠️:其中的User類一定需要新增==@Component== 註解,如果不新增,Spring不能掃描到元件,也就無法獲取配置檔案中的屬性
2、指定配置檔名稱
使用不同名字的配置檔案,運用
@PropertySource
複製程式碼
來指定配置檔案路徑及名稱
當容器啟動,就會自動載入user.properties配置檔案五、型別安全屬性注入
運用:
@ConfigurationProperties(prefix = "user")
複製程式碼
在配置檔案中找到user開頭的key,然後獲取到value
注意⚠️:使用該註解後,不需要在屬性上配置@Value註解