监听器的作用是监听一些事件的发生从而进行一些操作,比如监听ServletContext,HttpSession的创建,销毁,从而执行一些初始化加载配置文件的操作,

当Web容器启动后,Spring的监听器会启动监听,监听是否创建ServletContext的对象,如果发生了创建ServletContext对象这个事件(当web容器启动后一定会生成一个ServletContext对象,所以监听事件一定会发生),ContextLoaderListener类会实例化并且执行初始化方法,将spring的配置文件中配置的bean注册到Spring容器中,

监听的操作是读取WEB-INF/applicationContext.xml,但是我们可以在web.xml中配置多个需要读取的配置文件,如下方所示,读取完成后所有的配置文件中的bean都会注册到spring容器中。

<context-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>
            /WEB-INF/config/application-context.xml
            /WEB-INF/config/cache-context.xml
            /WEB-INF/config/captcha-context.xml
            /WEB-INF/config/jeecms/jeecore-context.xml
            /WEB-INF/config/jeecms/jeecms-context.xml
            /WEB-INF/config/shiro-context.xml
            /WEB-INF/config/plug/**/*-context.xml
            /WEB-INF/config/quartz-task.xml
            /WEB-INF/config/zxw/zxw-context.xml
        </param-value>
    </context-param>