Spring boot的配置檔案
1.配置檔案
SpringBoot使用一個全域性的配置檔案,配置檔名是固定的;
•application.properties
•application.yml
配置檔案的作用:修改Spring boot自動配置的預設值,Spring boot在底層都給我們配置好了
標記語言:
以前的配置檔案;大多都使用的是 xxxx.xml檔案;
YAML:以資料為中心,比json、xml等更適合做配置檔案;
YAML:配置例子
server: port: 8080
XML:配置例子
<server>
<port>8081</port>
</server>
2,YAML語法
1.基本語法
k:(空格)v:表示一對鍵值對(空格必須有);
以空格的縮排來控制層級關係;只要是左對齊的一列資料,都是同一個層級的,屬性和值也是大小寫敏感;
2.值的寫法
字面量:普通的值(數字,字串,布林)
k: v:字面直接來寫;
字串預設不用加上單引號或者雙引號;
"":雙引號;不會轉義字串裡面的特殊字元;特殊字元會作為本身想表示的意思
name: "zhangsan \n lisi":輸出;zhangsan 換行 lisi
'':單引號;會轉義特殊字元,特殊字元終只是一個普通的字串資料
例如:
name: ‘zhangsan \n lisi’:輸出;zhangsan \n lisi
k: v:在下一行來寫物件的屬性和值的關係;注意縮排
物件還是k: v的方式
frends:
lastname:zhangSan
age:20
行內寫法:friends: {lastName: zhangsan,age: 18}
陣列(List、Set):
用- 值表示陣列中的一個元素
pets:
‐ cat
‐ dog
‐ pig
行內寫法:pets: [cat,dog,pig
3、配置檔案值注入
第一步:在application.properties中,定義欄位
第二步,定義一個實體類
第三步,驗證結果
@Value獲取值和@ConfigurationProperties獲取值比較
總結:
1.配置檔案yml還是properties他們都能獲取到值
2.如果說,我們只是在某個業務邏輯中需要獲取一下配置檔案中的某項值,使用@Value;
3.如果說,我們專門編寫了一個javaBean來和配置檔案進行對映,我們就直接使用@ConfigurationProperties
@PropertySource:載入指定的配置檔案;
@ImportResource:匯入Spring的配置檔案,讓配置檔案裡面的內容生效;
Spring Boot裡面沒有Spring的配置檔案,我們自己編寫的配置檔案,也不能自動識別; 想讓Spring的配置檔案生效,載入進來;@ImportResource標註在一個配置類上
SpringBoot推薦給容器中新增元件的方式;推薦使用全註解的方式
1、配置類@Configuration------>Spring配置檔案
2、使用@Bean給容器中新增元件