- 浏览: 188223 次
- 性别:
- 来自: 上海
文章分类
最新评论
import java.util.List;
import javax.validation.constraints.NotNull;
import org.hibernate.validator.constraints.Length;
/**
* 老卡企业售卡
*/
public class OldCorpCardSaleOrderDataControl{
@NotNull(message="销售机构不允许为空")
@Length(min=1,max=15)
private String saleOrgCode ;
@NotNull(message="配卡信息不允许为空")
private List<DistCardItem> distCards ;
import java.util.Iterator;
import java.util.Set;
import javax.validation.ConstraintViolation;
import javax.validation.Validation;
import javax.validation.Validator;
import javax.validation.ValidatorFactory;
/**
* @author new
*
*/
public class BeanValidator {
public static<T> void validate(T bean) throws HessianInvokeException{
ValidatorFactory factory = Validation.buildDefaultValidatorFactory();
Validator validator = factory.getValidator();
Set<ConstraintViolation<T>> constraintViolations=validator.validate(bean);
StringBuffer sbf = new StringBuffer();
for (Iterator<ConstraintViolation<T>> iterator = constraintViolations.iterator(); iterator.hasNext();) {
ConstraintViolation<T> constraintViolation = iterator.next();
sbf.append(constraintViolation.getPropertyPath());
sbf.append(":");
sbf.append(constraintViolation.getMessage());
sbf.append(";");
}
if(sbf.length()>0){
throw new HessianInvokeException("参数校验未通过", sbf.toString());
}
}
}
发表评论
文章已被作者锁定,不允许评论。
-
ReentrantLock与Condition
2017-03-17 14:25 526多线程和并发性并不是什么新内容,但是 Java 语言设计中的创 ... -
java linux监控
2017-03-13 17:49 481http://agapple.iteye.com/blog/1 ... -
transient和volatile两个关键字
2017-02-16 09:47 572transient和volatile两个关 ... -
java 锁机制
2016-12-09 13:43 465一段synchronized的代码被 ... -
java 正则表达式
2016-12-02 10:28 516众所周知,在程序开发中,难免会遇到需要匹配、查找、替换、判断字 ... -
java ClassNotFoundException和NoClassDefFoundException的差别
2016-08-17 19:47 907首先从名字上可以看出一类是异常,一类属于错误。异常可以通过异常 ... -
ThreadLocal
2016-07-19 11:10 326ThreadLocal是什么 Thre ... -
java CAS
2016-07-10 14:55 330cas 乐观锁每次不锁定整个线程,在操作之前进行判断。悲观锁独 ... -
concurrenthashmap
2016-07-10 11:11 422hash table虽然性能上不如 ... -
java 线程池的使用
2016-07-10 09:52 3721. 引言 合理利用线程池能够带来三个好处。第一:降低资源消 ... -
java.util.concurrent
2016-07-03 16:24 409我们都知道,在JDK1.5之 ... -
JVM 配置 以及垃圾收集器的选择
2016-04-15 12:36 728JVM监控的关键指标说明: a) FGC的环比增加次数。Zab ... -
jvm实时监控工具
2016-04-09 09:35 461 -
哈希 、一致性哈希、余数式哈希
2016-04-07 16:10 861什么是Hash Hash,一 ... -
jvm dump 相关
2016-03-22 17:22 681http://www.cnblogs.com/edwardla ... -
深入剖析volatile关键字
2016-03-21 16:02 534深入剖析volatile关键字 ... -
java线程安全问题之静态变量、实例变量、局部变量
2016-03-08 12:52 571java多线程编程中,存在很多线程安全问题,至于什么是线程安全 ... -
有状态的bean和无状态的bean的区别
2016-03-08 11:23 1493有状态会话bean :每个用户有自己特有的一个实例,在用户的生 ... -
Java nio详解
2016-01-20 16:30 551http://www.ibm.com/developerwor ... -
java 不定长数组
2015-11-24 15:00 766在调用某个方法时,若是方法的参数个数事先无法确定该如何处理 ...
相关推荐
本文将详细探讨`hibernate-validator-5.1.0.zip`这个包在SpringMVC中的应用,以及其在数据校验中的关键知识点。 一、Hibernate Validator简介 Hibernate Validator是JSR-303(Java Bean Validation)规范的实现,...
Hibernate Validator 是一个基于 Bean Validation 规范的实现,它为Java应用提供了强大的数据验证功能。在3.1.0.GA版本中,该框架不仅包含了完整的源码,丰富的示例,还附带有详细的参考文档和API,是学习和使用...
"domain-validator-example"项目提供了一个使用Bean验证API实现的域验证器的示例。Bean验证(JSR 303/349/380)是一种标准,用于在Java应用中进行对象级的约束验证,它允许开发者声明性地定义对象属性的验证规则。 ...
**数据校验**:Validation是Java中用于数据验证的框架,如使用JSR-303/JSR-349(Bean Validation)标准,我们可以为实体类的属性添加校验注解,如@NotNull、@Size、@Pattern等,然后在导入数据时,通过Validator进行...
在不使用Maven的情况下,我们需要下载`validation-api-1.1.0.Final.jar`和`hibernate-validator-5.2.4.Final.jar`两个JAR包,并将它们添加到项目的类路径中。如果项目是Maven管理的,可以在pom.xml文件中添加以下...
5. **约束校验API**:Bean Validation提供了丰富的API,如`ConstraintValidatorContext`,允许在验证失败时传递更多的上下文信息。 6. **组验证**:通过指定验证组,我们可以控制哪些验证规则在特定操作(如保存、...
本篇文章将深入探讨Bean Validation技术,以及如何利用它来对Javabean进行校验。 一、Bean Validation简介 Bean Validation是Java EE的一部分,也是JSR 303和JSR 349规范的实现,后来在Java 8中升级为JSR 380。这个...
6. **验证API** - 提供了`Validator`接口,可以通过这个接口进行编程式验证,适用于非bean对象的验证。 7. **约束校验API** - 包括`ConstraintValidator`接口,允许开发者自定义验证逻辑,实现特定的验证行为。 **...
JSR303的JAR包通常包含了核心验证API(javax.validation.*)和实现,如Hibernate Validator,它是JSR303的一个流行实现。在项目中引入这个JAR包,可以方便地进行数据校验。例如,如果你在SpringMVC的Controller中有...
5.2. 使用Spring的Validator接口进行校验 5.3. 从错误代码到错误信息 5.4. Bean处理和BeanWrapper 5.4.1. 设置和获取属性值以及嵌套属性 5.4.2. 内建的PropertyEditor实现 6. 使用Spring进行面向切面编程(AOP...
在这个例子中,`ExampleForm`是一个包含验证注解的bean,`@Validated`和`@RequestBody`共同作用,使得Spring Boot在调用控制器之前先验证表单数据。 4. **自定义验证注解** 如果内置的验证注解不能满足需求,可以...
5.2. 使用Spring的Validator接口进行校验 5.3. 从错误代码到错误信息 5.4. Bean处理和BeanWrapper 5.4.1. 设置和获取属性值以及嵌套属性 5.4.2. 内建的PropertyEditor实现 6. 使用Spring进行面向切面编程(AOP...
在"StrutsLoginDemo"中,可能有资源属性文件(如`login.properties`)用于存储不同语言的字符串,以及`validator-rules.xml`和`field-validation.xml`用于定义数据校验规则。 总之,"7_StrutsLoginDemo.zip"是一个...
5.2. 使用Spring的Validator接口进行校验 5.3. 从错误代码到错误信息 5.4. Bean处理和BeanWrapper 5.4.1. 设置和获取属性值以及嵌套属性 5.4.2. 内建的PropertyEditor实现 5.4.2.1. 注册用户自定义的PropertyEditor ...
5.2. 使用Spring的Validator接口进行校验 5.3. 从错误代码到错误信息 5.4. Bean处理和BeanWrapper 5.4.1. 设置和获取属性值以及嵌套属性 5.4.2. 内建的PropertyEditor实现 6. 使用Spring进行面向切面编程(AOP...
5.2. 使用Spring的Validator接口进行校验 5.3. 从错误代码到错误信息 5.4. Bean处理和BeanWrapper 5.4.1. 设置和获取属性值以及嵌套属性 5.4.2. 内建的PropertyEditor实现 6. 使用Spring进行面向切面编程(AOP...
2. **数据验证**:Hibernate Validator等库利用注解进行对象数据校验。 3. **持久化框架**:JPA(Java Persistence API)使用注解将对象映射到数据库表。 4. **依赖注入**:Spring框架中的@Component、@Autowired等...