1. 程式人生 > >Spring boot的配置檔案

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

    物件、Map(屬性和值)(鍵值對): 
        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給容器中新增元件