Java Spring数据绑定在后台是如何工作的?
我开始了解一点,当用户在SpringMVCWeb应用程序的上下文中请求某个URL时,在后台会发生什么。 但我无法确定数据绑定是何时以及如何发生的,即输入表单的字段到模型对象之间的映射,以及随后在相关处理程序方法中注入该对象Java Spring数据绑定在后台是如何工作的?,java,spring,spring-mvc,data-binding,Java,Spring,Spring Mvc,Data Binding,我开始了解一点,当用户在SpringMVCWeb应用程序的上下文中请求某个URL时,在后台会发生什么。 但我无法确定数据绑定是何时以及如何发生的,即输入表单的字段到模型对象之间的映射,以及随后在相关处理程序方法中注入该对象 有人知道隐含了哪些类和方法,以及这些类和方法出现在文档中的什么地方吗?例如,如果您将表示SomeBean的数据发布到此处理程序:public void(SomeBean SomeBean)以下情况发生在Spring 4中 InvocableHandlerMethod将迭代该
有人知道隐含了哪些类和方法,以及这些类和方法出现在文档中的什么地方吗?例如,如果您将表示
SomeBean
的数据发布到此处理程序:public void(SomeBean SomeBean)
以下情况发生在Spring 4中
将迭代该方法的参数,并要求InvocableHandlerMethod
实例解析每个参数的值HandlerMethodArgumentResolverComposite
HandlerMethodArgumentResolver组件将询问它的
s是否支持给定参数。如果支持该参数,则此参数用于解析该值HandlerMethodArgumentResolver
将支持给定参数(ModelAttributeMethodProcessor
),并尝试解析其值SomeBean
- 在它的
方法中,resolveArgument
将实例化参数类型的目标对象ModelAttributeMethodProcessor
- 然后它将调用
来创建负责将请求绑定到目标对象的WebDataBinderFactory
WebDataBinder
- 绑定后,将返回目标并将其作为处理程序方法的参数提供
另外,您应该阅读源代码而不是文档。非常感谢,现在我可以开始深入研究这些类:)和+1,因为“您应该阅读源代码而不是文档”