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

这篇具有很好参考价值的文章主要介绍了@NotEmpty、@NotBlank、@NotNull三种注解的区别。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

@NotNull :用在基本数据类型的非空校验,不能为null,但可以为empty。
而且被其标注的字段可以使用 @size、@Max、@Min 对字段数值进行大小的控制

@NotEmpty:用在集合类或数组上,不能为空,但长度必须大于0

@NotBlank:只能用在String类型上的非空校验,不能为空,而且调用trim()后,长度必须大于0(即必须有实际字符)

注意:

  • 注意在使用 @NotBlank 注解时,一定要和 @valid 一起使用,否则 @NotBlank 不起作用。
  • 一个 BigDecimal 的字段使用字段校验标签应该为 @NotNull。
  • @Length :一般用在 String 类型上可对字段数值进行最大长度限制的控制。
  • @Range: 一般用在 Integer 类型上可对字段数值进行大小范围的控制。
  • @Size(min=, max=) 验证对象(Array,Collection,Map,String)长度是否在给定的范围之内

示例:文章来源地址https://www.toymoban.com/news/detail-600505.html

  	@NotBlank(message = "请输入名称")
    @Length(message = "名称不能超过个 {max} 字符", max = 10)
    public String name;
 
    /** 年龄 */
    @NotNull(message = "请输入年龄")
    @Range(message = "年龄范围为 {min} 到 {max} 之间", min = 1, max = 100)
    public Integer age;

	@NotEmpty(message = "兴趣爱好不能为空")
    @NotNull(message = "请输入年龄")
    @Range(message = "年龄范围为 {min} 到 {max} 之间", min = 1, max = 100)
    public Integer age;(message = "兴趣选择最多{max}个", max = 5)
    public List<String> hobbyList;

到了这里,关于@NotEmpty、@NotBlank、@NotNull三种注解的区别的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • 解决springboot中使用@NotNull注解无效

    解决springboot中使用@NotNull注解无效

    我们在使用@NotNull注解的时候,一般在实体类的字段上加上@NouNull注解: 然后在controller类中的方法上添加上@Valid的注解(我们还可以给bean后紧跟一个BindingResult,就可以获取到校验的结果信息) springboot 2.3之前的集成在 spring-boot-starter-web 里了,所以不需要额外引入包 springboot

    2024年02月14日
    浏览(16)
  • @Pattern、@NotNUll、@Length等校验注解的使用

    @ NotNull 注解来标记 MyObject 类的 property 属性不能为空。通过 Validation.buildDefaultValidatorFactory() 创建验证器工厂,然后使用 factory.getValidator() 获取验证器实例。然后,我们创建了一个 MyObject 实例,并将其传递给 validator.validate() 方法进行验证。验证结果存储在 SetConstraintViolationO

    2024年02月15日
    浏览(12)
  • 注解、原生Spring、SchemaBased三种方式实现AOP【附详细案例】

    注解、原生Spring、SchemaBased三种方式实现AOP【附详细案例】

    目录 一、注解配置AOP 1. 开启注解支持 2. 在类和方法加入注解 3. 测试 4.  为一个类下的所有方法统一配置切点 二、原生Spring实现AOP 1. 引入依赖 2. 编写SpringAOP通知类 3. 编写配置类bean2.xml 4  测试 三、SchemaBased实现AOP 1. 配置切面 2. 测试 往期专栏文章相关导读  1. Maven系列专栏

    2024年02月08日
    浏览(8)
  • SpringBoot—@ComponentScan注解过滤排除不加载某个类的三种方法

    在引用jar包的依赖同时,经常遇到有包引用冲突问题。一般我们的做法是在Pom文件中的dependency节点下添加exclusions配置,排除特定的包。 这样按照包做的排除范围是比较大的,现在我们想只排除掉某个特定的类,这时我们怎么操作呢? 方法一:pom中配置排除特定包 缺点:排

    2024年02月15日
    浏览(12)
  • autowired和resource注解的区别

    注入规则不同 Autowired注解是spring的注解,此注解只根据type进行注入,不会去匹配name.但是如果只根据type无法辨别注入对象时,就需要配合使用@Qualifier注解或者@Primary注解使用。 Resource注解有两个重要的属性,分别是name和type,如果name属性有值,则使用byName的自动注入策略,将值

    2024年02月10日
    浏览(11)
  • @Service和@Component注解的区别和用法

    @Service和@Component注解在Spring框架中都用于标注类,以便Spring容器能够自动识别并创建其实例。然而,这两个注解在用法和区别上却有着不同的目的和效果。本文将详细介绍这两个注解的用法和区别,并通过示例代码进行演示。 一、@Service注解 @Service注解是Spring框架中用于标注

    2024年02月06日
    浏览(9)
  • post请求可以不加@RequestBody注解么?使用与不使用@RequestBody注解的区别

    @RequestBody只能处理json格式的数据。 使用@RequestBody注解时,用于接收Content-Type为application/json类型的请求,数据类型是JSON:{“aaa”:“111”,“bbb”:“222”} 不加@RequestBody可以支持表单的默认格式,但是不能处理json格式的数据(在restTemplete进行远程服务调用时,是以json格式进行实体

    2024年02月12日
    浏览(15)
  • Spring中@Resource和@Autowire注解的区别

    @Resource和@Autowired都是用来进行依赖注入的注解,但是它们有一些不同之处。 @Autowired是Spring框架中的注解,它可以用来标注字段、构造函数、方法等,表示需要自动装配。它可以用来注入依赖的bean。如果有多个bean符合条件,可能会抛出异常。 @Resource是Java自带的注解,它可以

    2023年04月25日
    浏览(11)
  • java中main方法和@Test注解的区别

    Java的 main 方法和 @Test 注解在用途和功能上有很大的区别。 main 方法是Java应用程序的入口点。当你运行一个Java程序时,JVM会首先查找具有 public static void main(String[] args) 签名的类,并从这个方法开始执行程序。 main 方法通常用于控制程序的启动、执行和终止。 @Test 注解是JUn

    2024年02月05日
    浏览(8)
  • @Repository注解的作用和用法,以及和@Mapper的区别

    @Repository注解的作用和用法,以及和@Mapper的区别

    @Repository是属于Spring的注解。它用来标注访问层的类(Dao层),它表示一个仓库,主要用于封装对于数据库的访问。其实现方式与@Component注解相同,只是为了明确类的作用而设立。 即@Repository是@Component注解的一个派生品,与@Service和@Controller都可以理解为@Component注解的扩展。

    2024年02月05日
    浏览(17)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包