类所在的包: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。