Dashboard > OpenSource Project > ... > Spring > 入門 20 - Spring MVC框架類圖與順序圖
OpenSource Project Log In   View a printable version of the current page.
入門 20 - Spring MVC框架類圖與順序圖
Added by 良葛格, last edited by 良葛格 on Jan 16, 2005
Labels: 
(None)

藉由瞭解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中的程式碼。

Site powered by a free Open Source Project / Non-profit License (more) of Confluence - the Enterprise wiki.
Learn more or evaluate Confluence for your organisation.
Powered by Atlassian Confluence, the Enterprise Wiki. (Version: 2.1.5a Build:#411 Mar 16, 2006) - Bug/feature request - Contact Administrators