1. 程式人生 > >SpringBoot專欄-配置檔案終結篇_知識點彙總(第四講)

SpringBoot專欄-配置檔案終結篇_知識點彙總(第四講)

配置檔案YML

SpringBoot使用一個全域性的配置檔案,配置檔名是固定的;

 application.properties  、application.yml

配置檔案的作用:修改SpringBoot自動配置的預設值;SpringBoot在底層都給我們自動配置好;
YAML(YAML Ain't Markup Language)
 以前的配置檔案;大多都使用的是 xxxx.xml檔案;
 YAML:以資料為中心,比json、xml等更適合做配置檔案;

如:(一定要注意空格縮排)

server:  
  port: 8081

YAML語法

1、基本語法 
k:(空格)v:表示一對鍵值對(空格必須有);
以空格的縮排來控制層級關係;只要是左對齊的一列資料,都是同一個層級的
2、值的寫法

  k: v:字面直接來寫;
  字串預設不用加上單引號或者雙引號;
  "":雙引號;不會轉義字串裡面的特殊字元;特殊字元會作為本身想表示的意思
 name: "zhangsan \n lisi":輸出;zhangsan 換行 lisi
  '':單引號;會轉義特殊字元,特殊字元終只是一個普通的字串資料
  name: ‘zhangsan \n lisi’:輸出;zhangsan \n lisi 

3 物件、Map(屬性和值)(鍵值對): 


 

陣列(List、Set)

行內寫法

  pets: [cat,dog,pig]


配置檔案值注入 

文章中有詳細的講解與程式碼

文章連結:https://www.toutiao.com/i6636673857103069703/

spring‐boot‐configuration‐processor

我們匯入此包後寫配置檔案的時候就會出現提示了

<!‐‐匯入配置檔案處理器,配置檔案進行繫結就會有提示‐‐> 
<dependency>         
        <groupId>org.springframework.boot</groupId>       
         <artifactId>spring‐boot‐configuration‐processor</artifactId>              
       <optional>true</optional>           
   </dependency>

properties配置檔案在idea中預設utf-8可能會亂碼

解決方案

 

@Value獲取值和@ConfigurationProperties獲取值比較(很重要)

配置檔案yml還是properties他們都能獲取到值;

如果說,我們只是在某個業務邏輯中需要獲取一下配置檔案中的某項值,使用@Value;

如果說,我們專門編寫了一個javaBean來和配置檔案進行對映,我們就直接使用@ConfigurationProperties;

yml支援多文件塊方式 

啟用指定profile 

   1、在配置檔案中指定 spring.profiles.active=dev
  2、命令列:
    java -jar spring-boot-02-config-0.0.1-SNAPSHOT.jar --spring.profiles.active=dev;
    可以直接在測試的時候,配置傳入命令列引數
  3、虛擬機器引數;
    -Dspring.profiles.active=dev 

SpringBoot資源目錄講解

resources資料夾中目錄結構

  static:儲存所有的靜態資源; js css  images;

  templates:儲存所有的模板頁面;(Spring Boot預設jar包使用嵌入式的Tomcat,預設不支援JSP頁 面);可以使用模板引擎(freemarker、thymeleaf);

  application.properties:Spring Boot應用的配置檔案;可以修改一些預設設定;