javax.validation结合弹簧的示例分析

  介绍

这篇文章主要为大家展示了“javax.validation结合弹簧的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一javax下”。验证结合弹簧的示例分析”这篇文章吧。

JSR303是一套JavaBean参数校验的标准,它定义了很多常用的校验注解,我们可以直接将这些注解加在我们JavaBean的属性上面,就可以在需要校验的时候进行校验了。

注解如下:

 javax。验证结合弹簧的示例分析

Hibernate验证器在JSR303的基础上对校验注解进行了扩展,扩展注解如下:

 javax。验证结合弹簧的示例分析

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结合弹簧的示例分析