日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

JAVA中通过Hibernate-Validation进行参数验证

發(fā)布時間:2025/3/16 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 JAVA中通过Hibernate-Validation进行参数验证 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

在開發(fā)JAVA服務(wù)器端代碼時,我們會遇到對外部傳來的參數(shù)合法性進行驗證,而hibernate-validator提供了一些常用的參數(shù)校驗注解,我們可以拿來使用。
1.maven中引入hibernate-validator對應(yīng)的jar:

<dependency><groupId>org.hibernate</groupId><artifactId>hibernate-validator</artifactId><version>4.3.1.Final</version> </dependency>

2.在Model中定義要校驗的字段(即該字段不能為空,并且最大長度為14):**

import javax.validation.constraints.Pattern; import javax.validation.constraints.Size; import org.hibernate.validator.constraints.NotEmpty;public class PayRequestDto {/*** 支付完成時間**/@NotEmpty(message="支付完成時間不能空")@Size(max=14,message="支付完成時間長度不能超過{max}位")private String payTime;/*** 狀態(tài)**/@Pattern(regexp = "0[0123]", message = "狀態(tài)只能為00或01或02或03")private String status;public String getPayTime() {return payTime;}public void setPayTime(String payTime) {this.payTime = payTime;}public String getStatus() {return status;}public void setStatus(String status) {this.status = status;} }

3.定義Validation工具類:

import java.util.Set;import javax.validation.ConstraintViolation; import javax.validation.Validation; import javax.validation.Validator;import org.hibernate.validator.HibernateValidator;public class ValidationUtils {/*** 使用hibernate的注解來進行驗證* */private static Validator validator = Validation.byProvider(HibernateValidator.class).configure().failFast(true).buildValidatorFactory().getValidator();/*** 功能描述: <br>* 〈注解驗證參數(shù)〉** @param obj* @see [相關(guān)類/方法](可選)* @since [產(chǎn)品/模塊版本](可選)*/public static <T> void validate(T obj) {Set<ConstraintViolation<T>> constraintViolations = validator.validate(obj);// 拋出檢驗異常if (constraintViolations.size() > 0) {throw new RuntimeException(String.format("參數(shù)校驗失敗:%s", constraintViolations.iterator().next().getMessage()));}} }

4.在代碼中調(diào)用工具類進行參數(shù)校驗:

ValidationUtils.validate(requestDto);

以下是對hibernate-validator中部分注解進行描述:

轉(zhuǎn)載于:https://www.cnblogs.com/alterem/p/11262426.html

總結(jié)

以上是生活随笔為你收集整理的JAVA中通过Hibernate-Validation进行参数验证的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。