从appfuse开始学习Spring跟Hibernate - (2)Spring启动log
从appfuse开始学习Spring和Hibernate - (2)Spring启动log
分析appfuse的详细的启动日志来看看Spring的启动过程。
1. 装载app上下文
这里是通过ContextLoaderListener来调用initWebApplicationContext的方法initWebApplicationContext来开始的。
2. 读取配置文件
在web.xml里面定义了很多spring配置文件:
3. 创建Bean
通过XmlWebApplicationContext来调用DefaultListableBeanFactory创建Bean的实例。
可以看出启动过程的核心在于Bean的创建。
分析appfuse的详细的启动日志来看看Spring的启动过程。
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配置文件:
<context-param> <param-name>contextConfigLocation</param-name> <param-value> 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 </param-value> </context-param>
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的创建。