5.1 简介

JSR-303/JSR-349 Bean Validation

Spring 4.0 默认即支持Bean Validation 1.0 (JSR-303)和 Bean Validation 1.1(JSR-349)校验规范, 同时也能适配Spring的Validator校验接口。

应用既可以像Section 5.8, “Spring Validation”所述一次性开启全局的Bean Validation,也可以在你 需要验证的地方一一开启。

应用可以像Section 5.8.3, “Configuring a DataBinder”所述在每个DataBinder实例中注册多个自定义的Spring Validator 实例,这对那些不愿意使用注解来实现插件式的校验逻辑来说非常有用。

在业务逻辑中考虑数据校验利弊参半,Spring 提供的校验(和数据绑定)方案也未能解决这个问题。 能明确的是数据校验不应该被限定在web层使用,它应该能很方便的执行本地化,并且能在任何需要 数据校验的场合以插件的形式提供服务。基于以上考虑,Spring 设计了一个既基本又方便使用且能 在所有层使用的Validator接口。

Spring 提供了我们称作DataBinder的对象来处理数据绑定,所谓的数据绑定就是将用户的输入 自动的绑定到我们的领域模型(或者说用来处理用户所输入的对象)。Spring 的ValidatorDataBinder构成了validation包,这个包主要被Spring MVC框架使用,但绝不限于在该框架使用。

在Spring中BeanWrapper是一个很基本的概念,在很多地方都有使用到它。但是,你可能从来都没有 直接使用到它。鉴于这是一份参考文档,我们认为很有必要对BeanWrapper进行必要的解释。在这一 章中我们将解释BeanWrapper,在你尝试将数据绑定到对象时一定会使用到它。

Spring的数据绑定和较低级别的BeanWrapper都会使用PropertyEditors来进行转换和格式化。PropertyEditor 是JavaBeans规范的一部分,在这一章中我们将进行探讨。Spring3引入了"core.convert"这个包来提供通用 的类型转换工具和高级"format"包来格式化UI显示;这两个包提供的工具可以用作PropertyEditors 的替代品,我们也将在这一章对它们展开讨论。

results matching ""

    No results matching ""