目录

  • 9.1 参数校验介绍
  • 9.2 JSR303
  • 9.3 Hibernate Validator
  • 9.4 参数校验依赖引入

9.1 参数校验介绍

参数校验即保证数据的合法性,JCP组织定义了一个标准来规范化这个任务操作,即Java Validation API

Spring MVC 有两种方法可以验证输入,利用 Spring 自带的Validated框架或JSR 303 实现

9.2 JSR303

JSR303(Java Specification Requests)即Java 规范请求,是一套JavaBean参数校验的标准,它定义了很多常用的校验注解,可直接将注解加在JavaBean的属性上,在需要校验的时候实现服务器端的数据验证

JSR303 是JavaEE 6 中的一项子规范,叫Bean Validation,Spring 的 DataBinder 在进行数据绑定时,Spring MVC同时支持JSR303标准的校验框架,通过使用注解的方式进行验证规则的添加

9.3 Hibernate Validator

Hibernate Validator 是 Bean Validation 的参考实现 . Hibernate Validator 提供了 JSR 303 规范中所有内置 constraint 和一些附加实现

Spring 本身没有提供 JSR303 的实现,Hibernate Validator 实现了 JSR303,所以必须在项目中加入 Hibernate Validator 库

Hibernate Validator提供的校验注解

注解 说明
@NotNull/@Null 验证注解的元素值不是/是null
@AssertFalse/@AssertTrue 验证注解的元素值是false/true
@Max(value)/@Min(value) 验证注解的元素大于/小于值(value)
@Past/@Future 验证注解的元素比当前日期早/晚
@Email 验证注解的元素必须是Email
@NotEmpty 验证注解的元素值不为null,但长度不能为0
@NotBlank 验证注解的元素值不为null,但去除字符串的空格后长度不能为0,只应用于字符串

9.4 参数校验依赖引入

Springboot项目引入spring-boot-starter-web会默认引入hibernate-validator

<dependency><groupId>org.hibernate</groupId><artifactId>hibernate-validator</artifactId><version>6.2.3.Final</version>
</dependency>

例如导入参数校验依赖后,想要验证用户名和密码不为空

 @NotBlank(message = "用户名不能为空")@Size(min=2,max=12,message="用户名的长度在2~12之间")private String username;@NotBlank(message = "密码不能为空")private String password;

9:参数校验-Java Spring相关推荐

  1. SpringBoot 如何进行参数校验,老鸟们都这么玩的!

    大家好,我是飘渺. 前几天写了一篇 SpringBoot如何统一后端返回格式?老鸟们都是这样玩的! 阅读效果还不错,而且被很多号主都转载过,今天我们继续第二篇,来聊聊在SprinBoot中如何集成参数 ...

  2. Spring Validation最佳实践及其实现原理,参数校验没那么简单!

    点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试文章 作者:六点半起床 juejin.im/post/685654110 ...

  3. java 接口参数验证_SpringBoot实现通用的接口参数校验

    作者:cipher 来源:http://39sd.cn/560BA 本文介绍基于Spring Boot和JDK8编写一个AOP,结合自定义注解实现通用的接口参数校验. 缘由 目前参数校验常用的方法是在 ...

  4. Spring Boot 2.x基础教程:JSR-303实现请求参数校验

    点击蓝色"程序猿DD"关注我 回复"资源"获取独家整理的学习资料! 作者 | 翟永超 来源 | didispace.com/spring-boot-learni ...

  5. Spring Validation 最佳实践及其实现原理,参数校验没那么简单!

    之前也写过一篇关于Spring Validation使用的文章,不过自我感觉还是浮于表面,本次打算彻底搞懂Spring Validation.本文会详细介绍Spring Validation各种场景下 ...

  6. Spring Boot参数校验以及分组校验的使用

    简介:做web开发基本上每个接口都要对参数进行校验,如果参数比较少,还比较容易处理,一但参数比较多了的话代码中就会出现大量的if-else语句.虽然这种方式简单直接,但会大大降低开发效率和代码可读性. ...

  7. 面试官 | 如何在 Spring Boot 中进行参数校验?

    作者 | 狂乱的贵公子 来源 | cnblogs.com/cjsblog/p/8946768.html 开发过程中,后台的参数校验是必不可少的,所以经常会看到类似下面这样的代码 这样写并没有什么错,还 ...

  8. Spring基础系列-参数校验

    原创作品,可以转载,但是请标注出处地址:https://www.cnblogs.com/V1haoge/p/9953744.html Spring中使用参数校验 概述 ​ JSR 303中提出了Bea ...

  9. 使用 Spring Validation 优雅地进行参数校验

    引言 不知道大家平时的业务开发过程中 controller 层的参数校验都是怎么写的?是否也存在下面这样的直接判断? public String add(UserVO userVO) {if(user ...

  10. Spring Boot参数校验

    1. 概述 作为接口服务提供方,非常有必要在项目中加入参数校验,比如字段非空,字段长度限制,邮箱格式验证等等,数据校验常用到概念: JSR303/JSR-349: JSR303是一项标准,只提供规范不 ...

最新文章

  1. boost / vs2017 编译 boost 1.68.0 的过程说明
  2. 腾讯会议核心数据库TDSQL,如何做到快速无损在线扩容?
  3. 怎样用计算机算分数乘分数,《分数乘分数》教案.pdf
  4. 青鸟IT汇微信公众号新增智能机器人
  5. Oracle宣布新的Java Champions
  6. 第二十二期:New一个对象的时候发生了什么?
  7. 西门子滚筒洗衣机教程_西门子洗衣机怎么样 西门子洗衣机哪款好
  8. 【转载】如何扎实的学好ABAP?我的个人经验
  9. size_t,__T,_T,TEXT,_TEXT等一些特殊宏的理解
  10. 上下五千年,人口十几亿。在这遇见你,缘份真神奇
  11. Db4o 新建、查询、更新、删除操作
  12. 配置修改Tomcat端口
  13. Struts2 教程
  14. 010 Editor 9.x.x——安装、注册和汉化
  15. topic是短语还是句子_新仁爱版英语unit4 topic1短语和句子
  16. Canvas绘图教程及简单实践
  17. cdr 表格自动填充文字_极速office中表格的七个最常用技巧
  18. Windows Azure HDInsight 支持预览版 Hadoop 2.2 群集
  19. 10.5日饿了么复活了,大家凑合用用吧~(偶尔更新~)
  20. 计算机word文档无法预览,电脑打开Word文档内容显示不全或显示空白怎么解决

热门文章

  1. Windows Live Writer插件开发经验
  2. 内农大计算机学院宿舍,新疆农业大学科学技术学院宿舍条件怎么样
  3. CorelDRAW X4精简版序列号大家为何对其情有独钟?x8
  4. css文字多余显示,css设置文字多余部分显示省略号
  5. 正则表达式中常用符号
  6. android 玻璃背景,Android 弹窗毛玻璃背景实践
  7. python 分支结构 比较大小
  8. 怎么让小白理解intel处理器(CPU)的分类
  9. 【Keras】Keras中fit_generator的使用,及fit、fit_generator、和train_on_batch的区别
  10. Matlab-rmdir函数无法删除文件夹解决方案