1、ContextLoaderListener 继承ServletContextListener 具备了servlet容器的生命周期
2、创建ContextLoader 并通过ContextLoader来初始化initWebApplicationContext
3、获取parent的applicationContext 此过程包含从web-xml获得bean配置的过程 ------contextConfigLocation
4、通过反射初始化一个org.springframework.web.context.support.XmlWebApplicationContext。如果配置了contextClass 则不使用默认的XmlWebApplicationContext
5、将parentApplicationContext 和servlet上下文和servlet配置add到XmlWebApplicationContext
6、调用ConfigurableApplicationContext接口的refresh这个方法加载整个IOC容器