Java Bean Validation 注解:@NotEmpty、@NotBlank 和 @NotNull 的区别

1. 概述

Bean Validation 是 Java 提供的一种对 Java Bean 实例的字段或方法参数进行校验的标准机制。它允许开发者使用注解的方式定义验证逻辑,这些注解可以在类、字段或者方法上声明,并且可以被任何实现了 JSR 303/JSR 349 规范的框架(如 Hibernate Validator)所识别和执行。

2. @NotNull
  • 含义:该注解用于检查一个字段或参数是否为 null。如果字段不是 null,则通过验证。
  • 适用范围
    • 可以应用于任何类型的字段或方法参数。
  • 示例代码
    public class User {
        @NotNull(message = "Name cannot be null")
        private String name;
        
        // Getter and Setter methods...
    }
    
3. @NotEmpty
  • 含义:该注解用于检查一个字符串或集合类型(如 List, Set, Map)是否为空。对于字符串,它检查是否为 null 或长度为 0;对于集合类型,它检查是否为 null 或大小为 0。
  • 适用范围
    • 只能应用于字符串和集合类型的字段或方法参数。
  • 示例代码
    public class User {
        @NotEmpty(message = "Email cannot be empty")
        private String email;
        
        // Getter and Setter methods...
    }
    
4. @NotBlank
  • 含义:该注解用于检查一个字符串是否为 null 或仅由空白字符组成(即长度为 0 或只包含空格、制表符等)。如果字符串非空且含有非空白字符,则通过验证。
  • 适用范围
    • 只能应用于字符串类型的字段或方法参数。
  • 示例代码
    public class User {
        @NotBlank(message = "Password cannot be blank")
        private String password;
        
        // Getter and Setter methods...
    }
    
5. 总结
  • @NotNull:检查任何类型的对象是否为 null
  • @NotEmpty:检查字符串或集合类型的对象是否为 null 或为空。
  • @NotBlank:检查字符串是否为 null 或仅由空白字符组成。
6. 使用建议
  • 当需要验证对象不为 null 时,使用 @NotNull
  • 需要确保字符串或集合类型非空时,使用 @NotEmpty
  • 如果需要确保字符串不仅非空而且含有非空白字符时,使用 @NotBlank
  • 5
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值