spring MVC流程--数据绑定
2016-02-16 16:14:01 5 举报
Spring MVC的数据绑定是实现模型对象和视图之间数据传递的重要环节。当用户发起请求时,控制器会接收到请求参数,并通过注解或配置文件将请求参数与模型对象的属性进行绑定。在执行业务逻辑后,控制器会将处理结果放入模型对象中,并返回相应的视图。视图负责展示模型对象中的数据,通常使用模板引擎来实现数据的动态渲染。通过数据绑定,Spring MVC实现了前后端数据的无缝对接,提高了开发效率和用户体验。
作者其他创作
大纲/内容
getMethodArgumentValues():获取handler所有参数值
applyPropertyValues():正式开始
bindRequestParameters():封装等操作
resolveArgument():获取handler其中一个参数的参数值(如果是复杂类,则是复杂对象)
invokeForRequest():执行handler操作
bind():封装等操作
validateIfApplicable():validate
BeanPropertyBindingResult
checkFieldDefaults():处理默认值
argumentResolvers(HandlerMethodArgumentResolverComposite)
HandlerMethodArgumentResolver(ModelAttributeMethodProcessor)
createBinder():创建新的WebDataBinder,并把当前hander的@InitBind方法设置到binder中。
WebRequestDataBinder
checkRequiredFields():检查必须的参数
getArgumentResolver():遍历所有resolver,找到第一个可以处理的
RequestMappingHandlerAdapter
PropertyHandler.setValue():设置参数值
setPropertyValues():设置属性
getPropertyAccessor():创建BindingResult
createBeanPropertyBindingResult():创建BindingResult
getConversionService(): Custom -ConversionService:GenericConverter:类型转换
遍历setPropertyValue():设置属性
handleReturnValue():处理hander返回值
数据绑定流程(http://blog.csdn.net/yangjun2/article/details/8363750)
createInvocableHandlerMethod():1:创建调用hander的方法对象2:设置argumentResolvers3:设置returnValueHandlers4:设置parameterNameDiscoverer
doBind():封装等操作
convertIfNecessary():类型转换
invokeAndHandle():启动hander操作
findCustomEditor(): Custom -PropertyEditor:类型转换
setPropertyValue():设置属性
AbstractNestablePropertyAccessor(BeanWrapper)
binderFactory
convertIfNecessary()/convertForProperty():类型转换
获取所有参数,并循环遍历
getPropertyValue():取参数值
checkAllowedFields():清除不必要参数
resolveArgument():封状参数(从request中获取,并转换类型,并封装)
returnValueHandlers
invokeHandlerMethod()
new ModelAndViewContainer():创建mvc
ServletInvocableHandlerMethod
TypeConverterDelegate
findDefaultEditor(): Default-PropertyEditor:类型转换
getDataBinderFactory():创建新的BinderFactory
doInvoke():执行handler方法
0 条评论
回复 删除
下一页