数据校验规范

Bean Validation是Java的一套数据校验规范,提供注解和API实现JavaBean的校验,用于提高代码复用性。Bean Validation 2.0支持Java 8,容器校验,日期/时间校验,以及一系列拓展注解。本文介绍了其基本概念、2.0版本的关注点、实现方式(主要以Hibernate Validator为例)、使用示例以及如何在Spring MVC中集成和处理校验结果。
摘要由CSDN通过智能技术生成

Bean Validation

简介

Bean Validation是Java定义的一套基于注解的数据校验规范,目前已经从JSR 303的1.0版本升级到JSR 349的1.1版本,再到JSR 380的2.0版本(2.0完成于2017.08),已经经历了三个版本

"数据校验"是这个比较常见的工作,在日常的开发中贯穿于代码的各个层次,从上层的View层到下底层的数据层,为了保证程序的正确运行以及数据的正确性,开发者通常会在不同层次间做数据校验而且这些校验通常是重复的,为了实现代码的复用性,通常会把校验的逻辑写在被校验对象上。

Bean Validation就是为了解决这样的问题,它定义了一套元数据模型和API对JavaBean实现校验,默认是以注解作为元数据,可以通过XML重写或者拓展元数据,通常来说注解的方式可以实现比较简单逻辑的校验,而复杂校验就需要通过XML来描述。可以说Bean Validation是JavaBean的一个拓展,也就是说它布局于哪一层的代码,不局限于Web应用还是端应用。

Bean Validation 2.0 关注点

使用Bean Validation的最低Java版本为Java 8
支持容器的校验,通过TYPE_USE类型的注解实现对容器内容的约束:List<@Email String>
支持日期/时间的校验,@Past和@Future
拓展元素数据:@Email,@NotEmpty,@NotBlank,@Positive, @PositiveOrZero,@Negative,@NegativeOrZero,@PastOrPresent和@FutureOrPresent

Bean Validation的实现

Bean Validation在2.0之前有两个官方认可的实现:Hibernate Validator和Apache BVal,但如果你想用2.0版本的话,基本上只有Hibernate Validator,而这里我使用的是Hibernate Validator,其他实现不做展开。

使用

安装依赖

<dependency>
    <groupId>javax.validation</groupId>
    <artifactId>validation-api</artifactId>
    <version>2.0.0.Final</version>
</dependency>
<dependency>
    <groupId>org.hibernate</groupId>
    <artifactId>hibernate-validator</
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值