當前位置:
首頁 > 最新 > Spring Boot學習筆記系列之Spring Boot配置文件屬性值校驗

Spring Boot學習筆記系列之Spring Boot配置文件屬性值校驗

本篇主要介紹Spring Boot 配置文件中屬性值的校驗,之前已經介紹了Spring Boot 讀取配置文件的詳細方法,這裡就不再重複描述了.

屬性校驗

在之前的默認配置文件中添加email這個屬性,值填寫為錯誤的email格式,如下所示:

blog:

name:老貓碼坊

author:老貓

massage:${blog.name}的作者自稱是:${blog.author}

email:877066424

創建一個bean來綁定這個屬性,這裡我給它命名為:ValidateProp.java添加數據校驗Validated註解,開啟數據校驗,代碼如下所示:

@Component

@ConfigurationProperties(prefix="blog")

@Validated

public classValidateProp {

@Email

privateStringemail;

//省略getter setter

}

因為填寫的是錯誤的email格式,所以在啟動項目的時候會報錯,我把報錯的信息粘出來:

匹配屬性的鬆散性

在默認的配置文件中添加屬性值

nick-name:老貓

update_date:2018/07/19 15:27:30

在bean中配置的屬性名為:

privateStringnickName;

privateStringupdateDate;

//省略getter setter

可以看到nickName和createdDate在yml配置文件中,但是對應參數分別有劃線和下劃線.

現在我們在controller中獲取這些配置屬性,測試一下是否可以映射在相應的欄位中.

@RequestMapping("/validate")

publicStringvalidate() {

returnvalidateProp.toString();

}

訪問相應的頁面地址,列印的信息如下:ValidateProp

解析成功所以Spring Boot 的配置文件支持鬆散匹配屬性

但是@ConfigurationProperties註解是不支持SpEL表達式;

總結

配置文件取值小結

1

ConfigurationProperties註解支持批量注入,而Value註解適合單個注入;

2

ConfigurationProperties註解支持數據校驗,而Value註解不支持;

3

ConfigurationProperties註解支持鬆散匹配屬性,而Value註解必須嚴格匹配屬性;

4

ConfigurationProperties不支持強大的SpEL表達式,而Value支持;


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 老貓碼坊 的精彩文章:

TAG:老貓碼坊 |