1. 装载app上下文
main INFO org.springframework.web.context.ContextLoader - Root WebApplicationContext: initialization started 。。。。。。。。。。 main INFO org.springframework.web.context.ContextLoader - Root WebApplicationContext: initialization completed in 22509 ms
这里是通过ContextLoaderListener来调用initWebApplicationContext的方法initWebApplicationContext来开始的。
main DEBUG org.springframework.web.context.support.StandardServletEnvironment - Initialized StandardServletEnvironment with PropertySources [servletConfigInitParams,servletContextInitParams,jndiProperties,systemProperties,systemEnvironment]
2. 读取配置文件
main INFO org.springframework.beans.factory.xml.XmlBeanDefinitionReader - Loading XML bean definitions from class path resource [applicationContext-resources.xml]
在web.xml里面定义了很多spring配置文件:
contextConfigLocation classpath:/applicationContext-resources.xml classpath:/applicationContext-dao.xml classpath:/applicationContext-service.xml classpath*:/applicationContext.xml /WEB-INF/applicationContext*.xml /WEB-INF/xfire-servlet.xml /WEB-INF/security.xml
3. 创建Bean
通过XmlWebApplicationContext来调用DefaultListableBeanFactory创建Bean的实例。
main DEBUG org.springframework.web.context.support.XmlWebApplicationContext - Bean factory for Root WebApplicationContext: org.springframework.beans.factory.support.DefaultListableBeanFactory@1edd56f: defining beans [propertyConfigurer,dataSource,sessionFactory,transactionManager 。。。。。。。。。。 main DEBUG org.springframework.beans.factory.support.DefaultListableBeanFactory - Finished creating instance of bean 'userManager'
可以看出启动过程的核心在于Bean的创建。