Spring MVC框架类图与顺序图

藉由了解Spring的框架组成,我们可以了解框架之中的类与接口是如何彼此相互合作的,直接来看看几个核心类别与接口,在下图中也列出了几个我们常用到的界面与其具体实现类别:

Spring MVC

框架的中心是DispatcherServlet,可以在图中 DispatcherServlet的周围看到,对于其相依赖的类别,DispatcherServlet并不直接依赖具体的实现,而是依赖于接口。 DispatcherServlet最上层父类别是HttpServlet,下来是HttpServletBean与FrameworkServlet, HttpServletBean处理Bean设定,FrameworkServlet加入context相关功能。 

除了各自负责的功能之外,我们可以从顺序图中看到,在Container往上呼叫父类别的init()方法时,由HttpServletBean的initServletBean()方法开始,使用TemplateMethod模式来执行子类的相关初始动作:

FrameworkServlet

会初始并建立WebApplicationContext,然后使 用工厂方法呼叫子类的initFrameworkServlet(),在子类中,一连串的检查与初始会进行,看看是否设定了相关的 viewResolver,这是Spring的IoC容器依赖注入的功能,我们只要在DispatcherServlet的定义档中设定好相关的Bean 就可以完成这些相关的viewResolver等。 

下面这张顺序图则是表示了SpringMVC的工作流程:

对于GET或POST方法,我们交给了doService(),大致上您可以从之前的范例中对照上图来了解工作流程,基本上这几张图都是简化过后的图,如果有兴趣深入了解的话,可以自行看看DispatcherServlet中的程序代码。

相关推荐