springMVC启动初始化过程

在web.xml里配置分发servlet和ContextLoaderListener,ContextLoaderListener是spring提供的类,它继承了ContextLoader类和实现了ServletContextListener接口。

ContextLoader类负责初始化容器,初始化方法是 initWebApplicationContext(ServletContext servletContext)

 

ServletContextListener负责监听web容器的创建和销毁,分别对应contextInitialized(ServletContextEvent sce) 和  contextDestroyed(ServletContextEvent sce)  方法,

 

 

在初始化方法中调用ContextLoader提供的initWebApplicationContext方法来初始化 Web 环境下的spring 容器WebApplicationContext,WebApplicationContext的类层次关系如下

 从spring默认使用的XmlWebApplication入手,与IOC容器的初始化过程类似,这个过程也有loadBeanDefinitions方法对BeanDefinition的引入,是通过XmlBeanDefinitionReader 来载入Bean定义信息的,最终完成对上下文的初始化过程

,还可以看到一些默认的配置项,比如默认的配置文件的路径和获取

 

 

如果想获取更详细的初始化过程代码可以详细到各个方法里看 :) 

posted @ 2018-12-20 10:43  柴柴1226  阅读(895)  评论(0)    收藏  举报