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應用的配置檔案;可以修改一些預設設定;