數據綁定流程
Spring MVC通過反射機制對目標處理方法(handler method)的簽名進行分析,並將請求消息綁定到處理方法的參數上。數據綁定的核心部件是Databinder。
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)中方法的形參。
閱讀更多 軟件架構 的文章