spring mvc初始化过程
1、java web容器为其生命周期提供servletContextListener接口,这个接口可以再web容器初始化和结束期执行一定的逻辑,换句话说,通过实现它可以使得再dispacherServlet初始化期前就可以完成spring ioc容器的初始化。

2、也可以再结束期完成对spring容器的销毁,只要实现了servletContextListener接口的方法就可以了,spring mvc交给了类ContextLoaderListener。阅读源码:

3、public class contextLoaderListener extends contextLoader implements ServletContextListener{}
从而理解如何再java web应用中初始化spring ioc容器,并将其销毁,这样就可以在spring ioc容器去管理整个web工程的资源。

1、初始化映射请求上下文:映射请求上下文是通过dispatcherDervlet初始化的,他和普通的servlet也是一样的,可以根据自己的需要配置她再启动时初始化,或者等待用户第一次请求的时候进行初始化,

2、注意,也许你在web工程职工并没有注册contextLoaderListener,这个时候DispatcherServlet就会再其初始化的时候进行对spring ioc容器的初始化。这样也许你会有一个疑问:选择在什么时候初始化dispatcherServlet?

3、首先,初始化一个spring ioc容器时一个耗时的操作,所以这个工作不应该放到用户的请求上,没有必要让一个用户陷入长期的等待中,一次大部分的场景中,都应该让dispatcherServlet在服务器启动期间就完成spring ioc容器的初始化。

4、我们可以在web容器刚启动的时候,也可以在web容器载入dispatcherServlet的时候进行初始化,不只是dispatcherservlet需要使用spring ioc的资源,其他组件可能也需要。
