spring 研究装载配置文件
1,研究spring webApplicationContext初始化。spring 如何初始化。
spring 有两种方法,一个是ContextLoaderListener这个Listerner,另一个是ContextLoaderServlet这个Servlet,这两个方法都是在web应用启动的时候来初始化WebApplicationContext,ContextLoader是一个工具类,用来初始化WebApplicationContext,其主要方法就是initWebApplicationContext,ContextLoader是把WebApplicationContext(XmlWebApplicationContext是默认实现类)放在了ServletContext中,ServletContext也是一个“容器”,也是一个类似Map的结构,而WebApplicationContext在ServletContext中的KEY就是WebApplicationContext.ROOT_WEB_APPLICATION_CONTEXT_ATTRIBUTE,我们如果要使用WebApplicationContext则需要从ServletContext取出,Spring提供了一WebApplicationContextUtils类,可以方便的取出WebApplicationContext,只要把ServletContext传入就可以了。
2,研究通过使用ApplicationContext对spring 进行初始化。
初始化流程,在初始化的时候,新增一个加载servlet ,这个serlvet负责初始化。AppContextLoader 提供了初始化applicationContext的方法,
通过定义ClassPathXmlApplicationContext 来加载spring 配置文件。装载配置文件。
并把装载的ApplicationContext文件放在servletContext中作为全局变量来使用。在使用ClassPathXmlApplicationContext 则需要从ServletContext取出.