javax.validation.constraints中的@NotNull,@NotBlank,@NotEmpty三个注解,如果在方法上加上这个注解,在执行这个方法之前,会判断方法的入参是否满足使用的注解,工作原理是AOP,使用动态代理增强方法。
下面介绍一下他们的应用场景和区别:
-
@NotNull:主要用在基本数据类型上(Int,Integer,Double)
举例:
@NotNull(message = “年龄不能为空”)
private Integer age; -
@NotBlank:主要用在String字符串上面(String)
举例:
@NotBlank(message = “名字不能为空”)
private String name; -
@NotEmpty; 加了@NotEmpty注解的String类 ,Collection集合,Map ,数组,这些是不能为null或者长度为0的;(String ,Collection,Map的isEmpty()方法)