java中参数校验的运用和常用的几种校验注解

一,导入校验的依赖包:

 
        
        
            javax.validation
            validation-api
            2.0.1.Final
        
        
        
            org.hibernate.validator
            hibernate-validator
        

二,在找到自己的实体类定义自己要校验的参数

java中参数校验的运用和常用的几种校验注解_第1张图片

 三,就是@Valid和@Validated的用法(区别)

   1-1:@Valid作为标准JSR-303规范,还没有吸收分组的功能

   1-2:@ValidatedJSR-303规范,提供了一个分组功能,可以在校验时,根据不同的分组采取不同的校验机制

 如图:

1. @Validated(addGroup.class)就是给参数进行了分组校验

java中参数校验的运用和常用的几种校验注解_第2张图片 2.被我注解过的就是@Valid的用法(用的少不多说)

四,有人会问addGroup.class是哪里来的啊

    addGroup.class:是一个接口类,简单的来说:就是用来给参数做标记的(里面不需要写任何代码)

五,来说一下常用的几个注解:

   1.@NotNull :被注解的元素必须不为null

    2.@NotBlank注解 :验证注解的元素值不为空(不为null、去除首位空格后长度为0) ,并且类型为String。   

   3.@NotEmpty注解 :验证注解的元素值不为null且不为空(字符串长度不为0、集合大小不为0) ,并且类型为String。

   4.@AssertTrue注解 :被注解的元素必须为true,并且类型为boolean。

   5.@AssertFalse注解 :被注解的元素必须为false,并且类型为boolean。

   6.@Min注解 :被注解的元素其值必须大于等于最小值,并且类型为int,long,float,double。

   7. @Max注解:被注解的元素其值必须小于等于最小值,并且类型为int,long,float,double。

   8.@DecimalMin注解 :验证注解的元素值大于等于@DecimalMin指定的value值,并且类型为BigDecimal。

   9.@DecimalMax注解 :验证注解的元素值小于等于@DecimalMax指定的value值 ,并且类型为BigDecimal。

  10. @Range注解 :验证注解的元素值在最小值和最大值之间,并且类型为BigDecimal,BigInteger,CharSequence,byte,short,int,long。

  11.@Past注解 :被注解的元素必须为过去的一个时间,并且类型为java.util.Date。

  12. @Future注解 :被注解的元素必须为未来的一个时间,并且类型为java.util.Date。

  13.@Size注解 :被注解的元素的长度必须在指定范围内,并且类型为String,Array,List,Map。

    14.@Length注解 :验证注解的元素值长度在min和max区间内 ,并且类型为String。

  15.@Digits注解 :验证注解的元素值的整数位数和小数位数上限 ,并且类型为float,double,BigDecimal。

    16.@Pattern注解 :被注解的元素必须符合指定的正则表达式,并且类型为String。

    17.@Email注解: 验证注解的元素值是Email,也可以通过regexp和flag指定自定义的email格式,类型为String。

六,如果在写项目的过程中,参数需要的条件注解满足不上,则我们需要自定义注解来完成

第一步:建一个自定义的注解类:如图:

java中参数校验的运用和常用的几种校验注解_第3张图片

 第二步:建一个逻辑处理数据的方法 :如图:

java中参数校验的运用和常用的几种校验注解_第4张图片

 第三步:String message() default "{com.atguigu.common.valid.ListValue.message}";

这个消息:message() default "{com.atguigu.common.valid.ListValue.message}";

可以在配置文件中来写:

java中参数校验的运用和常用的几种校验注解_第5张图片

 第四步:在实体类中来调用:

java中参数校验的运用和常用的几种校验注解_第6张图片

完成!

有用记得关注,点赞哦

你可能感兴趣的:(python,开发语言,spring,mybatis,maven)