1. 程式人生 > >spring boot 自定義Validator註解

spring boot 自定義Validator註解

pack oot info 周期 pac tps var 虛擬 mage

spring boot在Post接受一個對象參數的時候可以使用@Valid去驗證,如下代碼

技術分享圖片

在創建一個User類

技術分享圖片

上面的@NotBlank和@Past就做了一個判斷,如何做類似的註解用來驗證數據

創建一個MyConstraint的接口

技術分享圖片

@Retention :用來說明該註解類的生命周期。它有以下三個參數:
RetentionPolicy.SOURCE : 註解只保留在源文件中
RetentionPolicy.CLASS : 註解保留在class文件中,在加載到JVM虛擬機時丟棄
RetentionPolicy.RUNTIME : 註解保留在程序運行期間,此時可以通過反射獲得定義在某個類上的所有註解。

@Target : 用來說明該註解可以被聲明在那些元素之前。
ElementType.TYPE:說明該註解只能被聲明在一個類前。
ElementType.FIELD:說明該註解只能被聲明在一個類的字段前。
ElementType.METHOD:說明該註解只能被聲明在一個類的方法前。
ElementType.PARAMETER:說明該註解只能被聲明在一個方法參數前。
ElementType.CONSTRUCTOR:說明該註解只能聲明在一個類的構造方法前。
ElementType.LOCAL_VARIABLE:說明該註解只能聲明在一個局部變量前。
ElementType.ANNOTATION_TYPE:說明該註解只能聲明在一個註解類型前。
ElementType.PACKAGE:說明該註解只能聲明在一個包名前。

@Constraint來限定自定義註解的方法
這裏寫的類是下面自定義的類

接口裏面的方法是其他註解上都有這些方法,列如@Past技術分享圖片

技術分享圖片

https://www.phpsong.com/3567.html

spring boot 自定義Validator註解