Hibernate Validator 6.0.17.Final -JSR380 參考實現(xiàn) 入門案例

本文從Hibernate Validator使用環(huán)境搭建開始,到初步地演示Hibernate數(shù)據(jù)校驗的使用,并附上代碼截圖,和完整代碼下載鏈接,使初學(xué)者有一個入門的印象。

開始準備

這一章將會向你展示如何開始Hibernate Validator,也就是這個Bean驗證的參考實現(xiàn)。為了快速開始,你應(yīng)該:

  • JDK8
  • Apache Maven
  • 一個網(wǎng)絡(luò)連接(maven必須下載所需的庫)

1 工程設(shè)置

為了使用Hibernate Validator 通過Maven工程,在pom.xml文件中簡單的加入下面的依賴:
image

這將臨時引入對bean驗證api的依賴(javax.validation:validation-api:2.0.1.Final)。Hibernate Validator 需要一個統(tǒng)一的表達式語言(Unified Expression LanguageJSR341)的實現(xiàn),用來計算在約束違反信息中的動態(tài)表達式。當你的應(yīng)用程序運行在Java EE容器中例如Jboss (作為一個EL的實現(xiàn)已經(jīng)被提供在容器中)。在Java SE環(huán)境下,無論如何,你必須在pom文件中增加一個EL的實現(xiàn)作為依賴。舉個例子,你可以加下面這個使用JSR341參考實現(xiàn)的依賴:
image

對于不能提供EL實現(xiàn)的環(huán)境來說,Hibernate Validator 正在提供一個12.9節(jié)“ParameterMessageInterpolator”。無論如何,這個插入器不是Bean驗證指定的組件。另外,項目還使用了另外兩個包,為了方便的實現(xiàn)toString()方法和集合方面的方法。
image

當然,為了測試數(shù)據(jù)校驗的功能,還加入了單元測試,所以需要導(dǎo)入junit。


image

好了,到這里pom中所有的包都導(dǎo)入完畢。下面開始代碼展示。

2. 代碼展示

首先新建了一個Car類:


image

里面有三個成員變量,他們?nèi)齻€上面加的注解,就是數(shù)據(jù)校驗注解,根據(jù)其語義,基本可以知道其注解的功能:

  • @NotNull :非空注解。被注解的字符串不能為空。
  • @Size :大小注解。被注解的字符串,必須滿足長度的大小限制。
  • @Min :最小值注解。被注解的數(shù)字,必須大于等于設(shè)置的value。

其中注解括號中的message屬性,是當數(shù)據(jù)校驗不通過時,提示的錯誤信息。另外為什么叫做Hibernate Validator,是因為這些個注解只是定義了一組規(guī)范,實現(xiàn)是在Hibernate中實現(xiàn)的,所以叫做Hibernate Validator。上面代碼截圖中省略了getter、setter、toString方法。下面是測試類的代碼:
image
image

上圖測試類中的測試方法是針對于每個注解可能出現(xiàn)的驗證不通過的情況,分別做了測試。測試方法全部通過,并報出了對應(yīng)的錯誤信息。這些詳細在代碼中。

下面是執(zhí)行所有單側(cè)結(jié)果:
image

好,到此為止,這篇Hibernate Validator入門的教程講完了。下面是完整代碼的下載鏈接,給需要的人。
image

寫碼/寫文聊技術(shù)/聊科技談健身/談學(xué)習(xí)
image

頑-木-芽

我一點不聰明,只是多花了些時間

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容