(三)Spring MVC与Web环境-上下文在Web容器的启动

1.Web环境中的Spring MVC

Spring IOC是一个独立的模块,它并不是直接在Web容器中起作用的,如果要在Web环境中使用IoC容器,需要Spring为IoC设计一个启动过程,把IoC容器导入,并在Web环境中建立起来。DispatcherServlet和ContextLoaderListener提供了在Web容器中队Spring的接口,这些接口与Web容器的耦合是通过ServletContext来实现的。这个ServletContext为Spring的IoC容器提供了一个宿主环境,在宿主环境中,Spring MVC建立起一个IoC容器的体系。这个IoC容器体系是通过ContextLoaderListener的初始化来建立的,在建立IoC容器体系后,把DispatcherServlet作为Spring MVC处理Web请求的转发器建立起来,从而完成响应HTTP请求的准备。

2.IoC容器启动的基本过程

在web容器启动的时候,会回调ContextLoaderListener的contextInitialized()方法,在这个方法中委托ContextLoader通过调用initWebApplicationContext()方法初始化根上下文,建立双亲IoC容器,生成相应的WebApplicationContext并将其初始化。其类关系如下图:


3.Web容器中的上下文设计


猜你喜欢

转载自blog.csdn.net/qq_22866497/article/details/80525072