天天看點

SpringBoot配置詳解

簡述

  springboot是基于約定的,是以很多配置都有預設的值,但如果想用自己的配置替換掉預設的配置的話,就可以使用application.properties或者application.yml(application.yml)進行配置

配置檔案的配置以及加載順序

SpringBoot配置詳解

  我們可以在運作jar包的時候指定參數

  亦或者把配置檔案放在jar包的同目錄下

  有很多種配置方式,外部與内部配置方式形成了一種互補的形式。

yml和properties的差別

  properties檔案和我們平常寫的是一樣的,就是鍵值對

  而yml的寫法略有不同,需要注意的是子屬性有縮進,且值前面有空格

SpringBoot配置詳解

優先級

  properties檔案的優先級>yml>yaml

YAML簡介

  YAML是YAML Ain't Markup Language的縮寫。YAML是一種直覺的能夠被電腦識别的資料序列化格式,并且容易被人類閱讀,容易和腳本語言互動,可以被支援YAML庫的不同的程式設計語言導入。YAML是以資料為核心的,比傳統的xml方式更加簡潔。

YAML基本文法

  大小寫敏感

  資料值前邊必須有空格,作為分隔符

  使用縮進表示曾經關系

  縮進時不允許使用tab,隻允許使用空格

  縮進的空格數不重要,隻要相同層級的元素左對齊即可

  #表示注釋,從#到行尾,都會被解析器忽略

YML資料格式

SpringBoot配置詳解

讀取配置檔案内容

  一共有三種方式來讀取我們的配置檔案内容:

  這也是spring架構支援的解析方式,我們可以在需要注入的變量的上方加value注解,注解值支援spel表達式,寫上"${properties的鍵名}"即可擷取到對應的值

  我們可以在類中定義一個Environment類型的變量,通過Autowired注解在spring容器初始化好這個變量。

  我們就可以用它的getProperty("properties的鍵名")方法擷取到value值

  我們在實體類上方使用ConfigurationProperties注解,意思就是這個類和配置檔案相映射

SpringBoot配置詳解

  注解的值就是配置檔案裡的父級鍵名,我們寫person就意味這要在配置檔案裡找person字首的值,并把值注入person對象

SpringBoot配置詳解

  當spring将person類加入核心容器時就會自動将配置檔案裡的值進行注入

一點一點積累,一點一點蛻變!

繼續閱讀