@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注解无效

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

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

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

    2024年02月15日
    浏览(43)
  • 注解、原生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日
    浏览(46)
  • SpringBoot—@ComponentScan注解过滤排除不加载某个类的三种方法

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

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

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

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

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

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

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

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

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

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

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

    2024年02月05日
    浏览(35)
  • 云计算 三种模式 各种云的区别

    目录 云计算的三种模式 IaaS 提供基础设施例子 PaaS提供平台例子 SaaS提供软件例子 各种云 公有云 私有云 混合云 五大优势 数据中心 私有云  公有云  专有云的区别 混合云的例子 云计算的关键技术 数据存储技术 数据管理技术 虚拟化技术 云计算的主要优势 更高效的解决方法

    2023年04月09日
    浏览(34)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包