源码解析

  • @NotEmpty根据JDK源码注释说明,该注解只能应用于char可读序列(可简单理解为String对象),colleaction,map,array上,因为该注解要求的是对象不为null且size>0,所以只有上述对象是拥有size属性的,而Integer,Long等基础对象包装类没有该属性
/**
* The annotated element must not be {@code null} nor empty. Supported types are:
* <ul>
* <li>{@code CharSequence} (length of character sequence is evaluated)</li> char值得可读序列,CharSequence的实现类有String, StringBuffer, StringBuilder, CharBuffer
* <li>{@code Collection} (collection size is evaluated)</li> 集合类
* <li>{@code Map} (map size is evaluated)</li> map散列表
* <li>Array (array length is evaluated)</li> 数组
* </ul>
*/
  • @NotNull,表示不能为null,但可以为empty,与@NotEmpty注解相比是少了size属性,所以"Accepts any type"可以接受任何类型对象
/**
* The annotated element must not be {@code null}.
* Accepts any type.
*/
  • @NotBlank,"Accepts {@code CharSequence}"表明只应用于char值可读序列,则可以简单理解为只用于String,且不能为null,"non-whitespace"表示不能是空白字符,所以校验字符串是调用trim()方法之后的字符串长度大于0
/**
* The annotated element must not be {@code null} and must contain at least one
* non-whitespace character. Accepts {@code CharSequence}.
*/

@NotEmpty、@NotNull、@NotBlank注解解析的更多相关文章

  1. Spring 中@NotNull, @NotEmpty和@NotBlank之间的区别是什么?

    简述三者区别 @NotNull://CharSequence, Collection, Map 和 Array 对象不能是 null, 但可以是空集(size = 0). @NotEmpty://Ch ...

  2. spring boot -表单校验步骤 +@NotEmpty,@NotNull和@NotBlank的区别

    1.实体类属性上添加注解规则 如 public class User { @NotBlank private Integer id ; 2.在方法中添加注解@Valid和一个校验结果参数(Bindin ...

  3. @NotNull, @NotEmpty和@NotBlank之间的区别是什么?

    首先是简要描述: [java] view plain copy@NotNull://CharSequence, Collection, Map 和 Array 对象不能是 null, 但可以是空集(s ...

  4. @NotNull和@NotEmpty和@NotBlank区别

    1.@NotNull:不能为null,但可以为empty (""," "," ") 2.@NotEmpty:不能为null,而且长度必须大于 ...

  5. @NotNull、@NotEmpty、@NotBlank的区别

    Spring中@NotNull.@NotEmpty.@NotBlank的区别@NotNull:用于基本数据类型@NotEmpty:用于集合类@NotBlank:用于String上面

  6. Hibernate Validator验证框架中@NotEmpty、@NotBlank、@NotNull 的区别

    Hibernate Validator验证框架中@NotEmpty.@NotBlank.@NotNull的主要使用情况 @NotEmpty  用在集合类上面 @NotBlank   用在String上 ...

  7. @NotNull,@NotEmpty,@NotBlank区别

    示例结果: // null String name = null; @NotNull: false @NotEmpty: false @NotBlank: false // 空字符串 String n ...

  8. @NotBlank注解地正确使用

    @NotNull:不能为null,但可以为empty @NotEmpty:不能为null,而且长度必须大于0@NotBlank:只能作用在String上,不能为null,而且调用trim()后,长度必 ...

  9. Spring 缓存注解解析过程

    Spring 缓存注解解析过程 通过 SpringCacheAnnotationParser 的 parseCacheAnnotations 方法解析指定方法或类上的缓存注解, @Cacheable ...

随机推荐

  1. 2018.8.2 python中is和==的区别

    一.is 和==的区别 1.is 比较的是左右两边的内存地址, ==比较的是左右两边的值. 2.id() 通过id()可以查看一个变量表示的值得内存中的地址. s = 'alex' s1 = 'ale ...

  2. 基本的sql 语句

    1,登陆数据库:mysql -u root -p2,退出数据库:exit quit ctr+d3,创建数据库:create database 数据库名 charset=utf84,使用数据库:use ...

  3. java中的时区转换

    目录 java中的时区转换 一.时区的说明 二.时间的表示 三.时间戳 四.Date类和时间戳 五.java中的时区转换 java中的时区转换 一.时区的说明 地球表面按经线从东到西,被划成一个个区域 ...

  4. MONGODB-LINUX 安装步骤

    1.MongoDB 提供了 linux 各发行版本 64 位的安装包,你可以在官网下载安装包. 下载地址:https://www.mongodb.com/download-center#communi ...

  5. 记录一次C#的asyn和await

    static void Main(string[] args) { var d = new NavDownLoader(); Task<bool> success = d.DownLoad ...

  6. 求矩阵最少(或最多)路径和(python实现)

    1.递归方式 求最短,最终状态即右下角 f(v, i, j) = min(f(v, i - 1, j), f(v, i, j - 1)) + v[i][j] 最长只需将min改为max即可 impor ...

  7. SpringBoot整合Swagger实战

    源码地址:https://github.com/laolunsi/spring-boot-examples 目前SpringBoot常被用于开发Java Web应用,特别是前后端分离项目.为方便前后端 ...

  8. [UWP]为番茄钟应用设计一个平平无奇的状态按钮

    1. 为什么需要设计一个状态按钮 OnePomodoro应用里有个按钮用来控制计时器的启动/停止,本来这应该是一个包含"已启动"和"已停止"两种状态的按钮,但我 ...

  9. Centos 6/7 常用命令总结 (基础)

    Centos 6/7 常用命令总结 (基础): 参考链接:https://www.cnblogs.com/linhaifeng/p/6045600.html 目录介绍: a) bin目录:用来存放常用 ...

  10. hdu 1754 I Hate It (线段树、单点更新)(PS:ios::sync_with_stdio(false)可以加快cin、cout的读取写出速度)

    I Hate ItTime Limit: 9000/3000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Su ...