首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

深入了解数据校验:Java Bean Validation 2.0JSR303、JSR349、JSR380)Hibernate-Validation 6.x使用案例【享学Java】

关于数据校验这块,最新的是JSR380,也就是我们常说的Bean Validation 2.0Bean Validation 2.0JSR380号标准。...id=380 Bean Validation的主页:http://beanvalidation.org Bean Validation的参考实现:https://github.com/hibernate...Bean Validation是Java定义的一套基于注解/xml的数据校验规范,目前已经从JSR 303的1.0版本升级到JSR 349的1.1版本,再到JSR 3802.0版本(2.0完成于2017.08...现在绝大多数coder使用者其实都还在使用Bean Validation 1.1,毕竟一般来说它已经够用了~ 本文会介绍Bean Validation 2.0提供的一些实用的新东西,毕竟Java8现在已成为主流...Validation 2.0的关注点(新特性) 因为2.0推出的时间确实不算长,so此处我把一些重要的关注点列举如下: 对Java的最低版本要求是Java 8 支持容器的校验,通过TYPE_USE类型的注解实现对容器内容的约束

1.8K30

何在你的项目中使用JSR 303 - Bean Validation进行数值校验?

一、JSR-303简介 JSR-303 是 Java EE 6 的一项子规范,叫做 Bean Validation,官方参考实现是hibernate Validator。...JSR 303 用于对 Java Bean 的字段的值进行验证。 spring MVC 3.x 之中也大力支持 JSR-303,可以在控制器对表单提交的数据方便地验证。...注:可以使用注解的方式进行验证 二、准备校验时使用的JAR validation-api-1.0.0.GA.jar:JDK的接口; hibernate-validator-4.2.0.Final.jar...数值检查 建议使用在Stirng,Integer类型,不建议使用在int类型上,因为表单值为“”时无法转换为int,但可以转换为Stirng为”“,Integer为null @Min 验证 Number...并且我们在使用的时候一定要注意,对于某一种验证规则是适用于一种数据类型的,简单说来,正则则表达式的验证对象可以为String类型的,但是不可以为Integer类型的数据,那么当我们使用正则表达式进行验证的时候就会出现错误

1.3K40
您找到你想要的搜索结果了吗?
是的
没有找到

API参数如何验证?别纠结,拿去用就是

我们会发现,为了避免每层进行重复的数据验证,可以将验证逻辑直接捆绑到域模型,将域类与验证代码混淆。 有点意思,你可能会有点懵,莫急!...这不在 JSR380-Bean Validation 2.0 为实体和方法验证定义元数据模型和API,是不是又茫然啦,啥是 JSR?啥是JSR380? 为了以后再见到内心不发虚,我们再解释一下。...JSR380-Bean Validation 2.0 是 Java 定义的一套最新的数据校验规范。 说了这么多,只有规范没有实现,一切都是扯淡。...一句话说清楚:Hibernate Validator 是 JSR 380 数据校验规范的一种实现。 到这,你多多少少应该了解 JSRJSR 380、Hibernate Validator。...import javax.validation.

45730

API参数如何验证?别纠结,拿去用就是

还是回归一下今天的主题,今天我们主要分享项目实战,另一种常用的参数校验框架 Hibernate Validator,请准备好小板凳,我们的分享开始。 1. 是啥?...我们会发现,为了避免每层进行重复的数据验证,可以将验证逻辑直接捆绑到域模型,将域类与验证代码混淆。 有点意思,你可能会有点懵,莫急!...这不在 JSR380-Bean Validation 2.0 为实体和方法验证定义元数据模型和API,是不是又茫然啦,啥是 JSR?啥是JSR380? 为了以后再见到内心不发虚,我们再解释一下。...JSR380-Bean Validation 2.0 是 Java 定义的一套最新的数据校验规范。 说了这么多,只有规范没有实现,一切都是扯淡。...一句话说清楚:Hibernate Validator 是 JSR 380 数据校验规范的一种实现。 到这,你多多少少应该了解 JSRJSR 380、Hibernate Validator。

55740

你有没有使用过这些编程骚操作(二)- 验证框架(Part A)

一、验证框架 验证框架对用来对数据进行校验的一个框架,本篇将演示如何通过使用已有的约束注解及如何自定义约束注解进行数据校验,并了解JSR规范、验证框架的原理 验证模型 第一种是分层验证即在MVC架构的每一层进行校验...,这样就会造成大量的重复代码 第二种是Java Bean验证即只将验证逻辑通过注解约束在域模型上,将验证逻辑从业务代码中分离出来 Bean Validation Bean Validation是为了...JCP使用JSR(Java规范请求,Java Specification Requests)作为正式规范文档,描述被提议加入到Java体系的规范和技术 JSR303即Bean Validation...1.0 JSR349即Bean Validation 1.1 JSR380Bean Validation 2.0 Bean Validation 与 Hibernate Validator Bean...Final Bean Validation 2.0参考实现:Hibernate Validator 6.0.1 Final plus:Hibernate Validator与ORM框架Hibernate

61610

求求你别在用IF ELSE校验参数了

JSR 380——Bean Validation2.0——定义了用于实体和方法验证的元数据模型和API,将数据校验逻辑通过注解的形式封装在实体对象。 ?...JSR-303 是JAVA EE 6 的一项子规范,后来的版本是Bean Validation 1.1(JSR-349),目前最新版本是Bean Validation 2.0JSR-380),Hibernate...Validator 是 Bean Validation 的参考实现 ,除了Jakarta Bean验证API定义的约束之外,Hibernate Validator还有一些附加的 constraint;...3.注解介绍 JSR 380内置常用注解 注解 详细信息 @Null 被注释的元素必须为 null @NotNull 被注释的元素必须不为 null @AssertTrue 被注释的元素必须为 true...相等性是使用equals()方法确定的。 @SafeHtml 检查带注释的值是否包含潜在的恶意片段,

1.7K20

Validator,就来这一篇吧

JSR 380——Bean Validation2.0——定义了用于实体和方法验证的元数据模型和API,将数据校验逻辑通过注解的形式封装在实体对象。 ?...JSR-303 是JAVA EE 6 的一项子规范,后来的版本是Bean Validation 1.1(JSR-349),目前最新版本是Bean Validation 2.0JSR-380),Hibernate...Validator 是 Bean Validation 的参考实现 ,除了Jakarta Bean验证API定义的约束之外,Hibernate Validator还有一些附加的 constraint;...3.注解介绍 JSR 380内置常用注解 注解 详细信息 @Null 被注释的元素必须为 null @NotNull 被注释的元素必须不为 null @AssertTrue 被注释的元素必须为 true...相等性是使用equals()方法确定的。 @SafeHtml 检查带注释的值是否包含潜在的恶意片段,

2.5K10

求求你别在用IF ELSE校验参数了

JSR 380——Bean Validation2.0——定义了用于实体和方法验证的元数据模型和API,将数据校验逻辑通过注解的形式封装在实体对象。 ?...JSR-303 是JAVA EE 6 的一项子规范,后来的版本是Bean Validation 1.1(JSR-349),目前最新版本是Bean Validation 2.0JSR-380),Hibernate...Validator 是 Bean Validation 的参考实现 ,除了Jakarta Bean验证API定义的约束之外,Hibernate Validator还有一些附加的 constraint;...3.注解介绍 JSR 380内置常用注解 注解 详细信息 @Null 被注释的元素必须为 null @NotNull 被注释的元素必须不为 null @AssertTrue 被注释的元素必须为 true...相等性是使用equals()方法确定的。 @SafeHtml 检查带注释的值是否包含潜在的恶意片段,

1.7K20

求求你别在用IF ELSE校验参数了

JSR 380——Bean Validation2.0——定义了用于实体和方法验证的元数据模型和API,将数据校验逻辑通过注解的形式封装在实体对象。 ?...JSR-303 是JAVA EE 6 的一项子规范,后来的版本是Bean Validation 1.1(JSR-349),目前最新版本是Bean Validation 2.0JSR-380),Hibernate...Validator 是 Bean Validation 的参考实现 ,除了Jakarta Bean验证API定义的约束之外,Hibernate Validator还有一些附加的 constraint;...3.注解介绍 JSR 380内置常用注解 注解 详细信息 @Null 被注释的元素必须为 null @NotNull 被注释的元素必须不为 null @AssertTrue 被注释的元素必须为 true...相等性是使用equals()方法确定的。 @SafeHtml 检查带注释的值是否包含潜在的恶意片段,

1.9K10

Spring Validation实践及其实现原理

背景 Spring 框架,广泛应用于 JAVA 企业级开发,包含了一套实用的字段校验机制: Spring Validation。...这个机制融合了 JSR380 规范,即 Bean Validation 2.0。本文将介绍 Spring Validation使用方法,包括基础注解的应用以及进阶使用技巧。...常用注解 Bean Validation 2.0 注解 校验空值 @Null:验证对象是否为 null @NotNull:验证对象是否不为 null @NotEmpty:验证对象不为 null,且长度(...下面尝试实现一个注解,用于校验集合的指定属性是否存在重复,代码如下: 实现校验注解,主要需要包含 message()、 filed()、 groups() 三个方法,功能注释所示。...参考文献 JSR 380标准:JAVA Community Process Bean Validation官网:beanvalidation.org Bean Validation参考实现:Hibernate

32510

Java数据校验详解

各路大神当然也会注意到这个问题,所以在“元编程”(见JSR250与资源控制)提出之后相续提交了JSR-303、JSR-349以及JSR-380来完善使用注解进行数据校验的机制,这三个JSR也被称为Bean...Validation 1.0、Bean Validation 1.1和Bean Validation 2.0,后文统称为Bean Validation。...先看一个不使用Bean Validation校验数据的代码: public class StandardValidation { public static void main(String[] args...使用IF—ELSE是否优雅这种高端问题暂且不谈,但是大量的IF—ELSE会导致业务内容越来越多的嵌套在代码。...(例子可执行代码在本人的gitee库,本文代码在chkui.springcore.example.javabase.validation包) 标准数据校验 JSR提交的Javax.validation定义已经为数据校验定义了很多方法和注解

1.5K20

Java数据校验详解

各路大神当然也会注意到这个问题,所以在“元编程”(见JSR250与资源控制)提出之后相续提交了JSR-303、JSR-349以及JSR-380来完善使用注解进行数据校验的机制,这三个JSR也被称为Bean...Validation 1.0、Bean Validation 1.1和Bean Validation 2.0,后文统称为Bean Validation。...先看一个不使用Bean Validation校验数据的代码: public class StandardValidation { public static void main(String[] args...使用IF—ELSE是否优雅这种高端问题暂且不谈,但是大量的IF—ELSE会导致业务内容越来越多的嵌套在代码。...(例子可执行代码在本人的gitee库,本文代码在chkui.springcore.example.javabase.validation包) 标准数据校验 JSR提交的Javax.validation定义已经为数据校验定义了很多方法和注解

1.1K31

Spring:全面拥抱 Jakarta Bean Validation 规范

随着JSR-303、JSR-349和JSR-380提案的相继问世,Bean Validation 规范已经从初出茅庐的 1.0 版本发展到渐入佳境的 2.0 版本。...Jakarta Bean Validation 2.0 在本质上是套壳版的 Bean Validation 2.0,因为前者只是将 GAV 坐标由 javax.validation:javax.validation-api...2.0 的基础上,彻底将包命名空间迁移到 jakarta.validation,而不再是 javax.validation。...在 Jakarta Bean Validation 规范,有一些核心 API 需要大家熟悉,如下: Validator,用于校验常规 Java Bean,同时支持分组校验;分组校验有时候很有必要,比如用户名在创建时不允许为空...早在 Spring 2.X 版本Bean Validation 的雏形就已显现,核心接口为org.springframework.validation.Validator。

1.1K30

你了解Spring从Spring3到Spring5的变迁吗?

spring-messaging 模块还 包含了 Spring Integration 项目中的核心抽象类, Message、MessageChannel、MessageHandler。...应用可以部分或完全使用 Groovy 编写。借助于 Spring 4.0,能够使用 Groovy DSL 定义外部的 Bean 配置,这类似于 XML Bean 声明,但是语法更为简洁。...使用Spring4.x时Java EE版本至少要6或以上,且需要JPA 2.0和Servlet 3.0 的支持,所以服务器,web容器需要做相应的升级。...一个更具前瞻性的注意是,Spring4.0支持J2EE 7的适用级规范,比如JMS 2.0, JTA 1.2, JPA 2.1, Bean Validation 1.1和JSR-236并发工具包,在选择这些...在 API 级别上,Spring 5 兼容 Java EE 8 技术,满足对 Servlet 4.0、Bean Validation 2.0 和全新的 JSON Binding API 的需求。

2.9K00
领券