SpringBoot配置詳解
簡述
springboot是基於約定的,所以很多配置都有預設的值,但如果想用自己的配置替換掉預設的配置的話,就可以使用application.properties或者application.yml(application.yml)進行配置
yml和properties的區別
properties檔案和我們平常寫的是一樣的,就是鍵值對
server.port=8080
而yml的寫法略有不同,需要注意的是子屬性有縮排,且值前面有空格
server:
port: 8080
優先順序
properties檔案的優先順序>yml>yaml
YAML簡介
YAML是YAML Ain't Markup Language的縮寫。YAML是一種直觀的能夠被電腦識別的資料序列化格式,並且容易被人類閱讀,容易和指令碼語言互動,可以被支援YAML庫的不同的程式語言匯入。YAML是以資料為核心的,比傳統的xml方式更加簡潔。
YAML基本語法
大小寫敏感
資料值前邊必須有空格,作為分隔符
使用縮排表示曾經關係
縮排時不允許使用tab,只允許使用空格
縮排的空格數不重要,只要相同層級的元素左對齊即可
#表示註釋,從#到行尾,都會被解析器忽略
YML資料格式
讀取配置檔案內容
一共有三種方式來讀取我們的配置檔案內容:
@Value註解
這也是spring框架支援的解析方式,我們可以在需要注入的變數的上方加value註解,註解值支援spel表示式,寫上"${properties的鍵名}"即可獲取到對應的值
Environment方式
我們可以在類中定義一個Environment型別的變數,通過Autowired註解在spring容器初始化好這個變數。
我們就可以用它的getProperty("properties的鍵名")方法獲取到value值
ConfigurationProperties註解
我們在實體類上方使用ConfigurationProperties註解,意思就是這個類和配置檔案相對映
註解的值就是配置檔案裡的父級鍵名,我們寫person就意味這要在配置檔案裡找person字首的值,並把值注入person物件
當spring將person類加入核心容器時就會自動將配置檔案裡的值進行注入
一點一點積累,一點一點蛻變!