Spring MVC数据绑定、数据转换及数据格式化

数据绑定流程

Spring MVC通过反射机制对目标处理方法(handler method)的签名进行分析,并将请求消息绑定到处理方法的参数上。数据绑定的核心部件是Databinder。

Spring MVC数据绑定、数据转换及数据格式化

1. Spring MVC框架将ServletRequest对象及处理方法的参数实例传递给DataBinder。

2. DataBinder 调用装配在Spring Web上下文中的ConversionService组件进行数据类型转换、数据格式化工作,并将ServletRequest中的消息填充到参数对象中。

3. 然后再调用Validator组件对已经绑定的请求消息数据的参数对象进行数据合法性校验

4. 最终生成数据绑定结果BindingResult对象,BindingResult包含已完成数据绑定的参数对象,还包含相应的校验错误的对象。

5. Spring MVC抽取BindingResult中的参数对象及校验对象,将它们赋给处理方法(Handler Method)的相应参数。

在数据绑定中,Spring MVC 会通过数据绑定组件(DataBinder)将请求参数串的内容进行类型转换,然后将转换后的值赋值给控制器类(Controller)中方法的形参。

相关推荐