@notnull @notblank @notempty
时间: 2023-04-29 22:03:57 浏览: 128
@notnull 表示该变量/参数不能为 null。
@notblank 表示该字符串变量/参数不能为 null 且不能为空白字符串。
@notempty 表示该集合/数组变量/参数不能为 null 且不能为空。
相关问题
@NotNull, @NotEmpty和@NotBlank
这三个注解都是用来对方法参数、返回值、字段等进行非空校验的。
@NotNull: 表示被注解的元素不能为 null,但可以为空字符串。
@NotEmpty: 表示被注解的元素不能为 null 且长度必须大于 0,即不能为空。
@NotBlank: 表示被注解的元素不能为 null,且调用 trim() 方法后,长度必须大于 0,即不能为空白字符。
这三个注解可以用在方法参数上,也可以用在字段上。在 Spring Boot 中,如果使用了这些注解,当参数校验不通过时,会抛出 MethodArgumentNotValidException 异常。
@notnull @notblank @nutempty
@NotNull、@NotBlank和@NotEmpty是在Java中用于数据验证的注解。这些注解的作用是确保被注解的字段或参数不为null、不为空或不为空格。
@NotNull注解用于标记字段或参数不能为空。它适用于任何类型的字段,包括引用类型和基本类型。被@NotNull注解标记的字段或参数不能为null。
@NotBlank注解用于标记字符串字段或参数不能为空或为空格。它适用于字符串类型的字段或参数。被@NotBlank注解标记的字符串字段或参数不能为null,同时也不能只包含空格字符。
@NotEmpty注解用于标记集合类型的字段或参数不能为空或者长度不能为0。它适用于字符串、Collection、Map和数组类型的字段或参数。被@NotEmpty注解标记的集合字段或参数不能为null,并且长度不能为0(对于String、Collection和Map类型可以使用isEmpty()方法进行检查)。
这些注解可以在数据验证时起到很好的作用,帮助我们确保数据的完整性和准确性。在使用这些注解时,需要根据具体的需求选择合适的注解来进行标记和验证。同时还需要注意,被标记的字段或参数需要满足注解的要求,否则会触发相应的验证异常。
需要注意的是,@NotNull、@NotBlank和@NotEmpty注解并不会自动对字段或参数进行初始化。如果希望在声明字段的同时进行初始化,可以使用@RequiredArgsConstructor注解,它可以代替@Autowired注解,并且需要使用final关键字或@NotNull注解来标记成员变量。另外,如果类中存在final字段没有被初始化的情况,可以使用@NoArgsContructor(force=true)注解来为没有初始化的final字段设置默认值0/false/null。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *2* *3* [Spring学习笔记-参考《Spring 实战第五版》(2021.9.9更新)](https://blog.csdn.net/qq_48302234/article/details/120017385)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 100%"]
[ .reference_list ]
阅读全文