@NotEmpty、@NotBlank、@NotNull 区别和使用

2023-10-30

首先需要说明下,本提到的 @NotEmpty、@NotBlank、@NotNull 分别是
javax.validation.constraints.NotEmpty、javax.validation.constraints.NotBlank 、javax.validation.constraints.NotNull。

通过注解的方式我们可以更加优雅的对参数的格式进行校验,但是在使用 @NotEmpty、@NotBlank、@NotNull 的过程中,由于含义有点类似,所以导致使用的时候会有一些迷茫,下面,对这三个注解逐一进行使用上的说明:

  1. @NotNull
    适用于基本数据类型(Integer,Long,Double等等),当 @NotNull 注解被使用在 String 类型的数据上,则表示该数据不能为 Null(但是可以为 Empty)
  2. @NotBlank
    适用于 String 类型的数据上,加了@NotBlank 注解的参数不能为 Null 且 trim() 之后 size > 0
  3. @NotEmpty
    适用于 String、Collection集合、Map、数组等等,加了@NotEmpty 注解的参数不能为 Null 或者 长度为 0

在使用这些注解的时候,还需要注意一点(注:否则会造成注解无效哦!!),那就是在Controller 层定义方法的时候在参数位置上加上 @Valid(javax.validation.Valid) 注解!!!如下图:
在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

@NotEmpty、@NotBlank、@NotNull 区别和使用 的相关文章

  • 重新学javaweb---过滤器应用--30天自动登录

    登陆login jsp h1 用户登录 h1 hr
  • 08-2_Qt 5.9 C++开发指南_坐标系统和坐标变换

    文章目录 1 坐标变换函数 2 视口和窗口 1 坐标变换函数 QPainter 在窗口上绘图的默认坐标系统如下图所示 这是绘图设备的物理坐标 为了绘图的方便 QPainter 提供了一些坐标变换的功能 通过平移 旋转等坐标变换 得到一个逻辑
  • Virgo Tool安装及Virgo服务器配置

    说在前面的话 本人这些天做OSGI得项目实战 发现以前STS版本里面有Eclipse RT 即安装Virgo服务器的容器 以前2 9版本以前自带有 但是现在我机器上下载的是最新STS 3 5版本 virgo tomcat server 3
  • 《区块链技术与应用》课堂笔记(五):实现

    具体笔记见图片 如果需要源文件和高清图可以下载 1条消息 区块链技术与应用 课堂笔记 五 实现 网络安全文档类资源 CSDN文库 因为某些原因 相关知识不能发布 GitHub链接
  • StarRocks运维篇:SQL慢查询和分桶优化监控(二)

    一 前言 慢查询SQL可以帮助我们找出响应时间较长的SQL语句 以便进行优化 我们可以通过分析慢查询日志来找出哪些SQL语句需要优化 以及如何进行优化 本篇文章将讲解介绍如何在StarRocks当中查看历史SQL慢查询 使用grafana展
  • linux下grpc安装编译,gRPC的C++编译及简单使用

    grpc的编译及简单使用 1 grpc相关参考文档 2 使用cmake编译安装gRPC 本文下载grpc是使用大陆外服务器下载grpc项目源码v1 32 X分支及其子模块submodule 总共1G左右 下载用时5分钟左右 大陆内用户可能首
  • 系统架构主题之五:软件系统建模方法及其应用

    前面我们梳理了需求分析的相关内容 完成需求分析后 会输出指导软件开发的需求规格说明书 有了该文档的支持 下一步就是系统设计阶段 用于将软件需求的内容转换为可指导软件开发的概要设计和详细设计文档 下面我们从理论和实践上看看如果做系统设计 1
  • Centos7.6 安装最新k8s v1.24+containerd+calico

    安装最新k8s v1 24 containerd calico 开始之前 部署文件位置 端口开放 k8s中需要开放的端口 calico网络插件需要开放的端口 所有服务器都要做的操作 1 升级系统内核 CentOS 7 CentOS 8 2
  • 04_Nginx_从url中获取参数

    04 Nginx 从url中获取参数 1 导读 2 代码示例 3 实验截图 1 导读 需要从url中获取到想要的参数 特此记录方式 2 代码示例 使用的是ngx http request t结构体中的args参数 printf n char
  • 2022年「博客之星」 无知的人_的程序人生

    这是 2022 博客之星 的竞选帖子 请你在这里增加其他内容 包括但不限于 你这一年的收获 感悟 对CSDN 产品的反馈和 2023 年的希望 参考 https blog csdn net SoftwareTeacher article d
  • MYSQL查询当前表存在哪些索引

    查看表存在的索引 show index from table name 表名 结果列表中各字段的含义 Non unique 如果索引不能包括重复词 则为0 如果可以 则为1 Key name 索引名称 Seq in index 索引中的列序
  • TIKTOK视频:视频内容打造需要注意的几点 抓住流量密码

    TIKTOK视频 视频内容打造需要注意的几点 抓住流量密码 大家好 我是项柚 一个专注于讨论TikTok玩法的跨境电商自媒体人 每天不断输出干货给需要的朋友 大家都知道 欧美跨境市场已经被认为是 红海 很多人已经凭着一股冲劲凭着一边做一边学
  • mybatis plus 常用方法

    学习链接 简介 MyBatis Plus 一 分页 创建分页实体 Page
  • 文盘Rust -- 给程序加个日志

    日志是应用程序的重要组成部分 无论是服务端程序还是客户端程序都需要日志做为错误输出或者业务记录 在这篇文章中 我们结合log4rs聊聊rust 程序中如何使用日志 log4rs类似java生态中的log4j 使用方式也很相似 log4rs中
  • 基于SoC FPAG实现手写体识别(HLS编译的全连接算子)

    基于SoC FPAG实现手写体识别 HLS编译的全连接算子 点击操作手册下载 完整代码 1 HLS的代码 2 SoC EDS 中 eclipse 测试代码 由于流程过多 这里采用pdf文件下载的方式 点击操作手册下载 链接 https pa
  • 北京大学肖臻老师《区块链技术与应用》公开课笔记-BTC

    本笔记为学习期间对主要知识和逻辑的记录 根据课程内容分为BTC和ETH两篇 本篇为BTC部分 北京大学肖臻老师 区块链技术与应用 公开课笔记 ETH 文章目录 01 课程简介 02 BTC 密码学原理 03 BTC 数据结构 04 BTC
  • javascript ES5中 foreach()遍历方法

    forcach array forEach function currentValue index arr currentValue 数组当前项的值 index 数组当前项的索引 可选 arr 数组对象本身 filter 方法创建一个新的数
  • Unable to launch the IIS Express Web server 问题之解决 - [Visual Studio 2015]

    背景 Visual Studio 2015 在 Debug 模式下调试失败 报错如下图所示 解决办法 删除解决方案下 vs config 文件夹内的这个配置文件 再关闭并重新运行解决方案即可进行调试
  • 清除SVN版本信息

    echo on color 2f mode con cols 80 lines 25 REM echo Deleting all svn please wait rem Delete svn in current and sub direc
  • LeetCode之Count Binary Substrings(Kotlin)

    问题 Give a string s count the number of non empty contiguous substrings that have the same number of 0 s and 1 s and all

随机推荐

  • 如何搭建C语言环境

    以下文章来源于 公 众 号开源电子网 读取更多技术文章 请扫码关注 如何搭建C语言环境 前言 C语言作为嵌入式开发的必备掌握技能 嵌入式能力的提升速度很大程度在于C语言的掌握能力 正所谓 工欲善其事 必先利其器 学习C语言 第一件动手的事情
  • 【餐厅点餐平台|一】项目描述+需求分析

    餐厅点餐平台导航 餐厅点餐平台 一 项目描述 需求分析 https blog csdn net weixin 46291251 article details 126414430 餐厅点餐平台 二 总体设计 https blog csdn
  • 大数据系列——Redis部署及应用

    Redis有四种部署方式 分别为单机模式 主备模式 哨兵模式 集群模式 其中单机模式比较简单 容量 处理能力有限 没有高可用 主备模式和哨兵模式本质和单机模式一样 只是主备模式保证数据高可用 哨兵模式保证数据和服务的高可用 集群模式是将数据
  • 为什么宏定义和函数定义运行结果不一样?

    函数定义 include
  • JUC-16. CAS

    想了解更多JUC的知识 JUC并发编程合集 1 CAS的概述 CAS的全称为Compare And Swap 比较并交换 它是一条CPU并发原语 比较工作内存值 预期值 和主物理内存的共享值是否相同 相同则执行规定操作 否则继续比较直到主内
  • Python中FIR滤波和小波包滤波对比(MNE脑电数据处理)

    小波变换有信号显微镜之称 在EEG分析中也有广泛的应用 印象中小波算法是来源于地球物理解释的 之前有介绍过小波的一些资料和实现 https blog csdn net zhoudapeng01 article details 1070259
  • srand((unsigned int)time(NULL))的理解(C语言)

    在c语言中 碰到这句函数 srand unsigned int time NULL 的理解 目录 1 srand与rand的关系 2 time函数的用法 3 取任意数 1 srand与rand的关系 在C中srand函数经常跟rand函数一
  • 经典/最新计算机视觉论文及代码推荐

    今日推荐几篇最新 经典计算机视觉方向的论文 涉及诸多方面 都是CVPR2022录用的文章 具体内容详见论文原文和代码链接 Convnet新活力 论文题目 A ConvNet for the 2020s 论文链接 https arxiv or
  • python中debug断点调试

    python Debug 断点调试 断点 break point 是指在代码中指定位置 当程序运行到此位置时变中断下来 并让开发者可查看此时各变量的值 因断点中断的程序并没有结束 可以选择继续执行 方法1 脚本中运行 在需要设置断点的地方
  • commonjs, es6 module什么是循环依赖?

    什么是循环依赖 循环依赖是指模块A依赖于模块B 同时模块B依赖于模块A 比如下面这个例子 foo js const bar require bar js console log value of bar bar module exports
  • 使用亚马逊云科技人工智能内容审核服务,打造安全的图像生成和扩散模型

    生成式人工智能技术发展日新月异 现在已经能够根据文本输入生成文本和图像 Stable Diffusion 是一种文本转图像模型 可让您创建栩栩如生的图像应用 您可以通过 Amazon SageMaker JumpStart 使用 Stabl
  • vue3介绍,Vue3的新特性

    vue3的优势 Vue 是目前国内开发最火的前端框架之一 react vue angular的下载趋势 Vue3性能更高 体积更小 Vue的compositionAPI 组合式API 可以 更好的代码复用 方便构建大型项目 对TS的支持比较
  • 通过DButils与连接池C3P0实现对对数据库的增删改查操作

    需要准备的有 C3P0配置文件
  • Excel匹配两列相同内容到同一行

    1 打开一个excel文件 找到需要自动对齐的两列数据 这里根据需要模拟了两列 2 用鼠标左键单击选中C1单元格 3 在C1单元格内输入公式 IF COUNTIF B 1 B 156 A1 0 A1 4 输入完公式后回车 再次选中C1单元格
  • k8s面试题大全(持续更新中)

    目录 前言 docker的工作原理是什么 讲一下 docker的组成包含哪几大部分 docker与传统虚拟机的区别什么 docker技术的三大核心概念是什么 centos镜像几个G 但是docker centos镜像才几百兆 这是为什么 讲
  • Bootstrap验证

    1 readonly验证需要 重新更新 var bootstrapValidator notice info input form data bootstrapValidator bootstrapValidator updateStatu
  • MySql安装版安装最新教程(附错误解决 )

    目录 1 安装版自定义安装 2 问题总结 1 安装版自定义安装 如果需要安装版安装 可参考另一篇博客 MySql压缩版安装最新教程 附错误解决 链接 MySql官网 滑到最下面 上面的是企业版下载 需要付费 我们下载开源的社区版 在这里我下
  • 编译出现 WARNING: ‘aclocal-1.15‘ is missing on your system.问题解决

    最近在中标麒麟下编译opus 1 2 1 make时出现了WARNING aclocal 1 15 is missing on your system 问题 发现是版本问题 于是重新安装了automake 下面是安装过程 1 下载安装包 h
  • PID恒温控制

    1 PID三个环节的作用 PID三个环节各自的主要作用和效应 比例环节 起主要控制作用 使控制量向目标值靠拢 但可能导致振荡 积分环节 消除稳态误差 但会增加超调量 微分环节 产生阻尼效果 抑制振荡和超调 但会降低响应速度 2 比例系数与积
  • @NotEmpty、@NotBlank、@NotNull 区别和使用

    首先需要说明下 本提到的 NotEmpty NotBlank NotNull 分别是 javax validation constraints NotEmpty javax validation constraints NotBlank j