引言

校验数据在所有应用程序层中,从表示层到持久层都是一项很普遍的任务。经常相同的校验逻辑在每一层中实现,这很耗时且容易出错。为了避免多次校验,开发者经常将验证逻辑耦合在域模型中,将域类与验证代码(实际上是关于类本身的元数据)混杂在一起。

图片说明

JSR 380 – Bean 验证2.0 – 定义了元数据模型和API对实体和方法的验证。默认的元数据源是注解,它可以覆盖和扩展元数据,通过使用xml。这些API不是绑定在指定的应用程序层而是编程模型中。它既不绑定在web层,也不绑定在持久层,它用于服务器端的应用编程中,和富客户端swing应用开发中。

图片说明

Hibernate Validator 是JSR380的参考实现。实现本身以及Bean验证API和TCK都是在Apache Software License 2.0下提供和分发的。
Hibernate Validator 6 和Bean 验证2.0 需要java8及其以后的版本。

接下来,我会持续更新关于Hibernate Validator部分的技术讲解。