首页 > 其他分享 >禁止使用 @NotEmpty 注解

禁止使用 @NotEmpty 注解

时间:2024-08-15 11:29:18浏览次数:8  
标签:禁止 NotEmpty 空字符 空格 NotNull 注解 Size

先上结论:

  1. @NotEmpty 是一个容易让人产生误解的注解,因为他不是一个 原子注解;
  2. @NotEmpty 注解作用于string的话,很鸡肋,没有 @NotBlank更简单暴力,容易理解;避免出现空格的问题;空格也没有什么具体业务场景;
  3. @NotEmpty 作用于list的话也是很鸡肋,不如:@NotNull + @Size 灵活 容易理解;

** 既然这不是一个原子注解,又容易让人产生歧义,混淆,故废弃,拒绝使用此注解 **

作用于string

1.不能为null

2.若是字符串,则不能是空字符,空格可以:

{
    "name": " "//空格可以
    "name": ""//空字符不可以
}

结论:作用等同于 @NotNull + @Size(min = 1),容易让人产生歧义;难以理解,我们通常直接 对字符串 用 @NotBlank注解更简单直接,@NotBlank的作用:

  • 字符串不能为null

  • 字符串trim()后也不能等于空,即空字符不行,空格也不行:

{
    "name": " "//空格不可以,即trim后不能为空字符
    "name": ""//空字符也不可以
}

作用于集合、数组、map、List

  1. 不能为Null;

  2. size() > 0;

效果就是 @NotNull + @Size(min = 1)

不够灵活,比如它 规定 size 比如大于0,就是说只能从 1开始,若我们想 size允许等于0呢,则无法实现;

不如 @NotNull + @Size 组合来的灵活和直接,容易理解,比如:

  • @NotNull + @Size(min = 0) 就可以 实现 不为null + 允许为空数组[]的效果;
  • @NotNull + @Size(min = 1) 就是 @NotEmpty的效果;

标签:禁止,NotEmpty,空字符,空格,NotNull,注解,Size
From: https://www.cnblogs.com/del88/p/18360550

相关文章

  • 深入解析Spring Boot中的@ConfigurationProperties注解
    深入解析SpringBoot中的@ConfigurationProperties注解在SpringBoot框架中,配置管理是一个核心功能。SpringBoot提供了多种方式来处理外部配置,其中@ConfigurationProperties注解是一个非常强大且灵活的工具。本文将深入探讨@ConfigurationProperties注解的概念、用法、工......
  • 数据库表对应的实体类上的相关注解
    一、解释这些注解是Java中常用的Lombok库和MyBatis-Plus框架提供的,用于简化实体类的开发和ORM映射。下面是对每个注解的解释:1.**@Data**:  -这是Lombok库的一个综合注解,包含了以下几个注解的功能:   -`@Getter`:为所有字段生成getter方法。   -`@Setter`:......
  • ollama的set parameter的参数的注解
    >>>/setparameterAvailableParameters:/setparameterseed<int>Randomnumberseed/setparameternum_predict<int>Maxnumberoftokenstopredict/setparametertop_k<int>Pickfromtopk......
  • 电脑怎么设置禁止访问网页|深度干货!0基础也能懂!
    在一个忙碌的下午,人力资源部的张莉正坐在她的办公桌前,盯着电脑屏幕上的报表。突然,她的目光不经意间扫到了隔壁工位的小王,只见他正津津有味地浏览着某购物网站,完全沉浸在自己的小世界里。张莉心中不禁有些担忧,毕竟,在工作时间上网闲逛不仅影响工作效率,还可能带来网络安全风险。......
  • Thumbs.db文件怎么产生,怎样禁止产生,占用怎么删除
    一、Thumbs.db文件怎么出现的?当你的电脑开启了【显示隐藏的文件、文件夹和驱动器】,会发现有些文件夹中会出现一个名为“Thumbs.db”的文件。Thumbs.db文件是查看缩略图所产生的缓存文件,你一定是使用缩略图的形式查看图片文件了,所以才会出现这个文件,这是正常的表现,并不是什么......
  • 洛谷P2758编辑距离超详注解
    注:本蒟蒻第一篇题解本文亦发表于洛谷博客题目跳转题目大意用最少的字符操作次数,将字符串A转换为字符串B。字符操作为:1.删除一个字符;2.插入一个字符;3.将一个字符改为另一个字符。代码思路本题很明显用的是DP1.赋值将dp数组的值赋值到最大2.特殊赋值对......
  • @DateTimeFormat 和 @JsonFormat 注解详解
    目录一、快速入门1.1准备工作1.2、入参格式化(前端传参到后端)1.3、出参格式化(后端返回给前端)1.4、如果是请求体@RequestBody传参二、详细解释这两个注解1、@JsonFormat2、@DateTimeFormat注意:1、这两者的注解一般联合使用2、注意2参考链接一、快速入门先说总结:如果......
  • 注解和反射
    注解和反射注解1什么是注解(Annotation)从JDK5开始,Java增加对元数据的支持,也就是注解,注解与注释是有一定区别的,可以把注解理解为代码里的特殊标记,注解的作用:不是程序本身,可以对程序作出解释可以在程序编译,类加载,运行时被读取,并执行相应的处理。注解的格式:注解是......
  • Java注解详解:@Async异步
    使用@Async进行异步方法调用@Async是Spring框架里的一个小工具,能让你的方法在后台偷偷跑起来,不影响主线程的工作。这个方法特别适合用来处理那些不需要立即给用户反馈的任务,比如发个邮件啊,处理个大文件啥的。1.配置异步支持首先,你得在Spring配置类里开个绿灯,让......
  • firewalld: 禁止ping和允许ping
    一,默认情况允许ping[lhdop@blog~]$ping8.14.7.5PING8.14.7.5(8.14.7.5)56(84)bytesofdata.64bytesfrom8.14.7.5:icmp_seq=1ttl=58time=2.69ms64bytesfrom8.14.7.5:icmp_seq=2ttl=58time=2.59ms...二,禁止ping[root@iZ2zejc9t0hf6pnw6sewrxZ~]#fire......