以下三个注解均是 javax.validation.constraints

@NotEmpty、@NotBlank、@NotNull三种注解的区别

@NotEmpty:用在集合类上面的属性的注解,需要搭配 @Valid 注解使用

@NotBlank:用在String上面属性的注解,需要搭配 @Valid 注解使用

@NotNull:用在基本类型的包装类型上面的属性注解

如下为使用实例:

package com.test.model.bo;

import com.test.model.pojo.Book;
import lombok.Data;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import java.util.List;

@Data
public class BookStateBO {

    @NotNull
    private Integer state;

    @NotBlank
    private String url;

    @NotEmpty
    private List<Book> bookList;
}

【Java用法】@NotEmpty、@NotBlank、@NotNull注解的使用方法与区别_注解

 

如果出现错误信息提示: 

javax.validation.UnexpectedTypeException: No validator could be found for type: java.lang.Integer,等等,基本上就是注解用在了错误的数据类型上面。

拓展:

javax.validation.constraints 包下还有如下注解可以使用:

【Java用法】@NotEmpty、@NotBlank、@NotNull注解的使用方法与区别_注解_02

 

 完结!