对于最新的稳定版本,请使用 Spring Framework 6.2.0! |
验证、数据绑定和类型转换
将验证视为业务逻辑有利有弊,Spring 提供了
用于验证和数据绑定的设计,不排除其中任何一个。
具体来说,验证不应该与 Web 层相关联,并且应该易于本地化。
并且应该可以插入任何可用的验证器。考虑到这些担忧,
Spring 提供了一个既基本又非常有用的 Contract
在应用程序的每一层中。Validator
数据绑定对于将用户输入动态绑定到域非常有用
应用程序模型(或用于处理用户输入的任何对象)的Spring
提供了恰当的命名来做到这一点。和 组成了包,它主要用于但不用于
仅限于 Web 层。DataBinder
Validator
DataBinder
validation
这是 Spring Framework 中的一个基本概念,被广泛使用
的地方。但是,您可能不需要直接使用 。因为
这是参考文档,但是,我们认为可能会有一些解释
次序。我们将在本章中解释它,因为,如果您要在
all,则很可能在尝试将数据绑定到对象时执行此操作。BeanWrapper
BeanWrapper
BeanWrapper
Spring 的和较低级别的都使用 implementations 来解析和格式化属性值。and 类型是 JavaBeans 规范的一部分,也是
在本章中解释。Spring 的包提供了一个通用类型
conversion 工具,以及用于格式化 UI 字段的更高级别包
值。您可以将这些包用作实现的更简单替代方案。本章还将讨论它们。DataBinder
BeanWrapper
PropertyEditorSupport
PropertyEditor
PropertyEditorSupport
core.convert
format
PropertyEditorSupport
Spring 通过设置基础设施和适配器支持 Java Bean 验证
Spring 自己的合同。应用程序可以全局启用 Bean 验证一次,
如 Java Bean 验证中所述,并将其专门用于所有验证
需要。在 Web 层中,应用程序可以进一步注册控制器本地 Spring 实例,如 配置 DataBinder
中所述,它可以
对于插入自定义验证逻辑很有用。Validator
Validator
DataBinder