Spring MVC框架类图与顺序图

来源:互联网 发布:淘宝分销品牌怎么填 编辑:程序博客网 时间:2024/06/05 08:58

藉由瞭解Spring的框架組成,我們可以瞭解框架之中的類與介面是如何彼此相互合作的,直接來看看幾個核心類別與介面,在下圖中也列出了幾個我們常用到的介面與其具體實現類別:

Spring MVC框架的中心是DispatcherServlet,可以在圖中DispatcherServlet的周圍看到,對於其相依賴的類別,DispatcherServlet並不直接依賴具體的實現,而是依賴於介面。DispatcherServlet最上層父類別是HttpServlet,下來是HttpServletBean與FrameworkServlet,HttpServletBean處理Bean設定,FrameworkServlet加入context相關功能。

除了各自負責的功能之外,我們可以從順序圖中看到,在Container往上呼叫父類別的init()方法時,由HttpServletBean的initServletBean()方法開始,使用Template Method模式來執行子類的相關初始動作:

FrameworkServlet會初始並建立WebApplicationContext,然後使用工廠方法呼叫子類的initFrameworkServlet(),在子類中,一連串的檢查與初始會進行,看看是否設定了相關的viewResolver,這是Spring的IoC容器依賴注入的功能,我們只要在DispatcherServlet的定義檔中設定好相關的Bean就可以完成這些相關的viewResolver等。

下面這張順序圖則是表示了Spring MVC的工作流程:

對於GET或POST方法,我們交給了doService(),大致上您可以從之前的範例中對照上圖來瞭解工作流程,基本上這幾張圖都是簡化過後的圖,如果有興趣深入瞭解的話,可以自行看看DispatcherServlet中的程式碼。