天天看點

Spring Boot 進階- 配置檔案詳解

作者:架構師面試寶典
Spring Boot 進階- 配置檔案詳解

在前面的文章中,提到過關于Spring Boot的配置檔案相關的内容。對于Spring Boot 的配置檔案來講,相比于Spring 、Spring MVC的配置檔案用起來更加簡單友善,且易于了解,易于配置。

Spring Boot官方提供了兩種常用的配置檔案格式,一種是properties字尾的、一種是yml字尾的。相比去properties來講,筆者更喜歡使用yml配置檔案的方式,現在比較流行的也是基于YML格式的配置,因為YML配置檔案層次更加明确,更容易了解。

Properties配置檔案

在我們使用Spring Boot Initializr 建立項目之後預設生成的配置檔案就是properties字尾,這個也是Spring 架構支援的配置檔案字尾。在使用Spring 架構的時候我們經常會用到這樣的配置檔案。如下圖所示。

Spring Boot 進階- 配置檔案詳解

建立好配置檔案之後我們來建立幾個配置項代碼如下。

userinfo.name=flyfish
userinfo.age=18
userinfo.isboy=false
userinfo.create-time=2022/10/11 15:12:23
userinfo.maps={k1:123,k2:345,k3:456}
userinfo.lists={123,234,345,456}           

建立配置相對應的配置類

public class UserInfoProperties {

    private String name;

    private Integer age;

    private Boolean isboy;

    private Date createTime;

    private Map<String, Object> maps;

    private List<String> lists;           

這種配置方式也是在開發中經常用到一種配置方式,依托于Spring Boot簡易的配置方式,可以快速實作自定義的配置,而且還可以修改SpringBoot場景啟動器對應的預設配置。

Yml配置檔案

Yaml配置檔案是一種通過縮進或者是空格來辨別配置層級的配置檔案模型。空格有幾個并不重要,重要的是可以通過空格的方式表示出配置項之間的層級關系。當然在IDEA編輯器中,如果鍵入了配置項,則會自動空格。

在YML配置檔案中也是跟properties配置類似,不僅支援有些基本的資料配置,還支援一些複雜結構的資料配置,例如Map、List等,當然還可以使用對象進行配置。

由于在建立項目的時候,預設建立的是properties字尾的配置檔案,我們可以重新建立一個新的application.yml 的配置檔案,也可以直接将properties字尾名進行修改。如下圖所示。直接修改完之後也可以被Spring Boot配置加載到。

Spring Boot 進階- 配置檔案詳解

設定好之後,可以鍵入對應的配置項内容,内容如下

userinfo:
  name: flyfish
  age: 18
  isboy: false
  create-time: 2022/10/12 14:12:12
  maps: '{"name":"test","age":"123"}'
  lists: '{1,2,3}'           

這個配置對應的配置類與上面配置的配置類是一樣的,這裡就不再過多說明。

Spring Boot 進階- 配置檔案詳解
public class UserInfoProperties {

    private String name;

    private Integer age;

    private Boolean isboy;

    private Date createTime;

    private Map<String, Object> maps;

    private List<String> lists;           

在實際開發中,很多開發者都是習慣于使用YML配置檔案進行配置。

當然這裡需要說明的一點,yml配置檔案是大小寫敏感的配置檔案,也就是說在配置檔案中定義的A與a不是同一個配置。這一點在使用配置檔案的時候需要注意,在很多的時候由于一時的疏忽導緻項目無法啟動,或者是無法擷取到正确的配置檔案都是由于配置檔案不能正常加載引起的。

總結

YML配置檔案是一種新的配置檔案定義格式,也是本人比較推薦的一種配置檔案方式,也是被衆多開發者廣泛使用的配置方式。這篇文章主要是介紹在Spring Boot的中的兩種配置檔案。

繼續閱讀