ContextLoaderListener类(spring源码解析)

类所在的包:org.springframework.web.context.ContextLoaderListener
其中的一个属性:

public static final String CONFIG_LOCATION_PARAM = "contextConfigLocation";

对应的web.xml文件中的

<context-param>
     <param-name>contextConfigLocation</param-name>
     <param-value>/WEB-INF/applicationContext.xml,/WEB-INF/spring-content.xml</param-value>
</context-param>

简单说,主要作用就是监听当web容器启动时创建WebApplicationContext对象(WebApplicationContext是ApplicationContext的子类)并且存放到ServletContext中。
类似的等效代码
ApplicationContext acc=new ClassPathXmlApplicationContext(“spring-context.xml”);
只是这个代码一般是我们测试时受到创建spring容器对象,而ContextLoaderListener就能在容器启动时自动给我们创建spring容器。

具体怎么创建的呢:
通过ContextLoader.properties文件中配置的
org.springframework.web.context.WebApplicationContext=org.springframework.web.context.support.XmlWebApplicationContext
(WebApplicationContext是接口,XmlWebApplicationContext是实现类)
利用forName()反射机制实例化WebApplicationContext。

原文地址:https://www.cnblogs.com/hzcya1995/p/13310669.html