Spring MVC框架類圖與順序圖

藉由瞭解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的工作流程:

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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章