ContextLoaderListener简介

ContextLoaderListener是Spring框架中的一个监听器,它可以在web应用启动时,自动加载一个或多个Spring配置文件,并将其中定义的bean实例化,从而构建Spring容器,并保证Spring容器在整个web应用中只有一个实例。

ContextLoaderListener原理

ContextLoaderListener实现原理很简单,当web应用启动时,容器会自动加载web.xml文件,web.xml文件中配置了ContextLoaderListener,容器会自动调用ContextLoaderListener的contextInitialized()方法,contextInitialized()方法会加载Spring的配置文件,并将其中定义的bean实例化,构建Spring容器,从而保证Spring容器在整个web应用中只有一个实例。

ContextLoaderListener使用

ContextLoaderListener使用非常简单,只需要在web.xml中配置ContextLoaderListener,并配置Spring配置文件的路径,如下所示:

<context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>/WEB-INF/applicationContext.xml</param-value>
</context-param>
<listener>
    <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>

contextConfigLocation参数用于指定Spring配置文件的路径,listener-class参数指定ContextLoaderListener的全限定名,只有配置了ContextLoaderListener,web应用启动时,才会自动加载Spring配置文件,从而构建Spring容器。