首页 > 其他分享 >【Spring Boot】Bean字段校验-JSR303

【Spring Boot】Bean字段校验-JSR303

时间:2023-08-19 15:56:23浏览次数:40  
标签:Hibernate 定义 Spring Boot 校验 Bean Validator 字段

规范:JSR 303  Bean Validation1.0

 

开发过程:

  1、Bean定义字段校验规则:

  2、Controller引入@Valid(来自)或@Validated(来自org.springframework.validation.annotation)触发校验

  样例如下:

  


背景知识:

1. Hibernate Validator

  定义Bean字段校验的注解和校验器实现

    

  部分注解:

    

  使用方式

    

 

spring-context

  1、build.gradle

    

  2、 定义Bean初始化时,对字段进行校验

         1)定义@Validate注解

      

  2、定义BeanValidationPostProcessor:  在bean初始化时调用 Hibernate Validator进行校验

       

      

spring-boot-starter-validation

   build.gradle定义 

     

 补充

  1、@Valid和@Validate都可触发校验的原理

    org.springframework.web.servlet.mvc.method.annotation.AbstractMessageConverterMethodArgumentResolver

    1)判断是否对应关键字是否存在   

      

    2)触发binder.validate(内部会调用Hibernate Validator)

 

标签:Hibernate,定义,Spring,Boot,校验,Bean,Validator,字段
From: https://www.cnblogs.com/clarino/p/17642556.html

相关文章

  • Spring Boot 实现各种参数校验
    简单使用JavaAPI规范(JSR303)定义了Bean校验的标准validation-api,但没有提供实现。hibernatevalidation是对这个规范的实现,并增加了校验注解如@Email、@Length等。SpringValidation是对hibernatevalidation的二次封装,用于支持springmvc参数自动校验。接下来,我们以spring-boot......
  • Spring循环依赖即解决方案
    本文会回答什么是循环依赖,Spring怎么解决循环依赖,Spring对于循环依赖无法解决的场景三个问题1.什么是循环依赖?循环依赖其实就是循环引用,也就是两个或则两个以上的bean互相持有对方,最终形成闭环。比如A依赖于B,B依赖于C,C又依赖于A。如下图:注意,这里不是函数的循环调用,是对象的相......
  • flask引入bootstrap5
    一个案例1.初始化一个flaskappfromflaskimportFlask,render_template,requestfromflask_wtfimportFlaskForm,CSRFProtectfromwtforms.fieldsimport*fromflask_bootstrapimportBootstrap5#初始化一个flaskappapp=Flask(__name__)#设置秘钥,没有的话,会失败。......
  • 基于SpringBoot的在线拍卖系统
    随着社会的发展,社会的各行各业都在利用信息化时代的优势。计算机的优势和普及使得各种信息系统的开发成为必需。在线拍卖系统,主要的模块包括管理员;首页、个人中心、用户管理、商品类型管理、拍卖商品管理、历史竞拍管理、竞拍订单管理、留言板管理、系统管理,用户;首页、个人中心、历......
  • 两步实现springBoot导出带动态表格的word docx文档
    1.第一步导入poi依赖<!--ApachePOI--><dependency><groupId>org.apache.poi</groupId><artifactId>poi</artifactId><version>4.1.2</version></dependency>......
  • 基于springboot的医护人员排班系统
    随着信息技术在管理上越来越深入而广泛的应用,管理信息系统的实施在技术上已逐步成熟。本文介绍了医护人员排班系统的开发全过程。通过分析医护人员排班系统管理的不足,创建了一个计算机管理医护人员排班系统的方案。文章介绍了医护人员排班系统的系统分析部分,包括可行性分析等,系统设......
  • 基于springboot图书个性化推荐系统的设计与实现
    本论文主要论述了如何使用JAVA语言开发一个图书个性化推荐系统,本系统将严格按照软件开发流程进行各个阶段的工作,采用B/S架构,面向对象编程思想进行项目开发。在引言中,作者将论述图书个性化推荐系统的当前背景以及系统开发的目的,后续章节将严格按照软件开发流程,对系统进行各个阶段分......
  • 基于springboot网页时装购物系统
    项目内容及可行性分析制作一个可以供消费者购买商品的网上购物平台,用户可以点击自己需要购买的商品,然后完成购买。该系统主要分为用户模块和管理员模块,用户模块主要关于系统的功能方面的使用,管理员模块则是专注于后台对于系统的维护与信息管理;用户模块具有:登陆、注册、商品查询、商......
  • 基于springboot学生心理咨询评估系统
    使用旧方法对学生心理咨询评估信息进行系统化管理已经不再让人们信赖了,把现在的网络信息技术运用在学生心理咨询评估信息的管理上面可以解决许多信息管理上面的难题,比如处理数据时间很长,数据存在错误不能及时纠正等问题。这次开发的学生心理咨询评估系统有管理员和用户。管理员可以......
  • 注册中心/配置管理 —— SpringCloud Consul
    Consul概述Consul是一个可以提供服务发现,健康检查,多数据中心,key/Value存储的分布式服务框架,用于实现分布式系统的发现与配置。Cousul使用Go语言实现,因此天然具有可移植性,安装包仅包含一个可执行文件,直接启动即可运行,方便部署Consul安装与启动以windows为例,在官网下载......