1. @NotNull
-
用途:
@NotNull
用于验证一个字段是否为非空(not null)。这意味着该字段不能是null
值,但对于字符串类型来说,它可以是一个空字符串(“”)。
-
示例:
public class User { @NotNull(message = "Id cannot be null") private Integer id; // ... }
2. @NotEmpty
-
用途:
@NotEmpty
用于验证一个字段是否非空(not null)且不为空集合(non-empty collection),或者对于字符串类型来说,不为空字符串(non-blank string)。这意呀着它适用于字符串、集合、数组等类型。
-
示例:
public class User { @NotEmpty(message = "Name cannot be empty") private String name; // ... }
3. @NotBlank
-
用途:
@NotBlank
用于验证一个字段是否非空(not null)且不为空字符串(non-blank string)。与@NotEmpty
不同的是,它仅适用于字符串类型,并且还会检查字符串是否只包含空白字符。这意味着字符串不能是null
、不能是空字符串(“”),也不能只包含空白字符。
-
示例:
public class User { @NotBlank(message = "Username cannot be blank") private String username; // ... }
总结
@NotNull
:适用于任何类型的字段,验证字段不为null
。@NotEmpty
:适用于字符串、集合和数组等,验证这些对象不为null
且不为空(例如字符串不是空字符串,集合不为空集)。@NotBlank
:专门用于字符串类型,验证字符串不为null
、不为空字符串、也不仅由空白字符组成。
注意事项
- 这些注解通常配合Spring Boot中的
@Valid
或@Validated
注解一起使用,以确保传入的对象经过验证。 - 在使用这些注解之前,请确保你的项目已经引入了Bean Validation的实现库,如Hibernate Validator。