介绍
这篇文章主要为大家展示了“javax.validation结合弹簧的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一javax下”。验证结合弹簧的示例分析”这篇文章吧。
JSR303是一套JavaBean参数校验的标准,它定义了很多常用的校验注解,我们可以直接将这些注解加在我们JavaBean的属性上面,就可以在需要校验的时候进行校验了。
注解如下:
Hibernate验证器在JSR303的基础上对校验注解进行了扩展,扩展注解如下:
pom中添加注解
& lt; !——jsr 303年,在 ,,,,,,,& lt; dependency> ,,,,,,,,,,,& lt; groupId> javax.validation ,,,,,,,,,,,& lt; artifactId> validation-api ,,,,,,,,,,,& lt; version> 1.1.0.Final ,,,,,,,& lt;/dependency> ,,,,,,,& lt; !——, hibernate 验证器——比; ,,,,,,,& lt; dependency> ,,,,,,,,,,,& lt; groupId> org.hibernate ,,,,,,,,,,,& lt; artifactId> hibernate-validator ,,,,,,,,,,,& lt; version> 5.2.0.Final ,,,,,,,& lt;/dependency>
春配置
& lt; bean id=皏alidator",类=皁rg.springframework.validation.beanvalidation.LocalValidatorFactoryBean"/祝辞
自己的违反实体
这里使用的Lombok获取获取和设置,使用的@ getter注解
@AllArgsConstructor这个注解是Lombok中为类提供一个全参的构造方法
package com.alibaba.xianzhi.validator; import java.io.Serializable; import lombok.AllArgsConstructor; import lombok.Getter;/* * ,* Created by  Jackielee 提醒2017 ,* @author: lizhilong ,* @date:,,, 2017 - 11 - 14, 18:01:34 ,, ,*/@ getter @AllArgsConstructor public class  Violation implements Serializable  { ,,,private static final long serialVersionUID =, -1731546219600067986 l; ,,,private final String 信息; ,,,private final Object 豆类; ,,,private final String 产权; ,,,private final Object 价值; }
封装一个ViolationBuild
后面会说这个类的用法
package com.alibaba.xianzhi.validator; import java.util.ArrayList; import java.util.HashSet; import 并不知道; import java.util.Set; import javax.validation.ConstraintViolation; import lombok.AllArgsConstructor; import lombok.Getter; import org.apache.commons.collections.CollectionUtils;/* * ,* @author: lizhilong ,* @date:,,, 2017 - 11 - 15, 11:41:12 ,, ,*/@AllArgsConstructor public class  ViolationBuild { ,,@ getter ,,,private Set,违反; ,,,public String getMessage (), { ,,,,,,,List , list =, new ArrayList (); ,,,,,,,for (Violation Violation :违规),{ ,,,,,,,,,,,list.add (violation.getMessage ()); ,,,,,,,} ,,,,,,,return list.size(),祝辞,0,?,list.get (0),:,“,“; ,,,} ,,,public static & lt; T>, ViolationBuild 构建(Set 祝辞,cvs), { ,,,,,,,Set , result =, new HashSet (); ,,,,,,,if (CollectionUtils.isNotEmpty (cvs)), { ,,,,,,,,,,,for (ConstraintViolation cv : cvs), { ,,,,,,,,,,,,,,,result.add (new 违反(cv.getMessage (),, cv.getRootBean (),==, null ?, null :, cv.getRootBean () .toString (), null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null javax.validation结合弹簧的示例分析