一、简述
1、我们在Java web 项目开发中,都会有一个web.xml文件,这个文件中一定会有如下一段代码:
|
|
这个ContextLoaderListener类中有一个方法如下:
|
|
因此,我们可以知道web项目启动时调用contextInitialized进行初始化的,这个方法又会在
tomcat 或者Jetty等插件中被调用。当然了不管是Tomcat还是Jetty,操作的对象都是ServletContextListener
,这里不再详细描述,之后有时间学习一Jetty源码。
2、在web.xml中定义 contextConfigLocation参数.spring会使用这个参数加载所有逗号分割的xml,如果没有这个参数,Spring 自动加载applicationContext.xml 配置文件。
这个ContextLoaderListener类中设置配置文件路径方法:
二、ContextLoaderListener

1、在 Servlet API中有一个ServletContextListener接口,它能够监听ServletContext对象的生命周期,实际上就是监听Web应用的生命周期。
当Servlet容器启动或终止Web应用时,会触发ServletContextEvent事件,该事件由ServletContextListener来处理。
2、ContextLoaderListener监听器的作用就是启动Web容器时,自动装配ApplicationContext的配置信息。
因为它实现了ServletContextListener这个接口,在web.xml配置了这个监听器,启动容器时,就会默认执行它实现的方法。
由于在ContextLoaderListener中关联了ContextLoader这个类,所以整个加载配置过程由ContextLoader来完成。
|
|