SpringMVC的数据转换、格式化和数据校验

本文详细介绍了SpringMVC框架中的数据绑定流程,包括如何通过DataBinder组件进行数据类型转换、格式化和校验。同时,以C#中的方法签名为例,解释了SpringMVC如何解析请求并将数据绑定到处理方法的参数中。

SpringMVC会根据请求方法签名不同,将请求消息中的信息以一定的方式转换并绑定到请求方法的参数。在请求消息到达真正调用处理方法的着一段时间内,SpringMVC还会完成很多其他的工作,包括请求信息转换、数据转换、数据格式化和数据校验等。

以C#为例:

函数签名(方法签名):是指函数的名称、参数的个数、参数的类型和顺序、参数的修饰符。

签名不包括:返回类型、形参的名称。如:

long GetValue(int a,out int b{ ... } //其中加粗斜体 部分为方法签名

一、数据绑定流程

SpringMVC通过反射机制对目标方法的签名进行分析,并将请求消息绑定到处理方法的参数中。数据绑定的核心部件是DataBinder,其运行机制如图所示。

SpringMVC 框架将 ServletRequest 对象及处理方法的参数对象实例传递给 DataBinder ,DataBinder 调用装配在 Spring Web 上下文中的 ConversionService 组件进行数据类型转换、数据格式化工作,并将 ServletRequest 中的消息填充到参数对象中。然后再调用 Validator 组件对已经绑定了请求消息数据的参数对象进行数据合法性校验,并最终生成数据绑定结果 BindingResult 对象。 BindingResult 包含已完成数据绑定的参数对象,还包含相应的校验错误对象, SpringMVC 抽取 BindingResult 中的参数对象及校验错误对象,将它们赋给处理方法的相应参数。

 二、数据转换

1、ConversionService

org.springframework.core.convert.ConversionService 是 Spring 类型转换体系的核心接口

转载于:https://www.cnblogs.com/peng19920430/p/10253875.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值