转自: http://lei2006.blog.sohu.com/116206469.html
Spring org.springframework.web.context.ContextLoaderListener
public class ContextLoaderListener
extends Objectimplements ServletContextListener
作用:在启动Web容器时,自动装配Spring applicationContext.xml的配置信息。
因为它实现了ServletContextListener这个接口,在web.xml配置这个监听器,启动容器时,就会默认执行它实现的方法。在ContextLoaderListener中关联了ContextLoader这个类,所以整个加载配置过程由ContextLoader来完成。
看看ContextLoader的API说明
第一段说明ContextLoader可以由 ContextLoaderListener和ContextLoaderServlet生成。如果查看ContextLoaderServlet的API,可以看到它也关联了ContextLoader这个类而且它继承了HttpServlet类
第二段,ContextLoader创建的是 XmlWebApplicationContext这样一个类,它实现的接口是WebApplicationContext->ConfigurableWebApplicationContext->ApplicationContext->
BeanFactory这样一来spring中的所有bean都由这个类来创建
第三段,讲如何部署applicationContext的xml文件,如果在web.xml中不写任何参数配置信息,默认的路径是"/WEB-INF/applicationContext.xml,在WEB-INF目录下创建的xml文件的名称必须是applicationContext.xml。如果是要自定义文件名可以在web.xml里加入contextConfigLocation这个context参数:
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>
/WEB-INF/classes/applicationContext-*.xml
</param-value>
</context-param>
在<param-value> </param-value>里指定相应的xml文件名,如果有多个xml文件,可以写在一起并一“,”号分隔。上面的applicationContext-*.xml采用通配符,比如这那个目录下有applicationContext-ibatis-base.xml,applicationContext-action.xml,applicationContext-ibatis-dao.xml等文件,都会一同被载入。
-----------------------------------------------------------------------------------------
例子,在web.xml文件中加入下面代码
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
如果applicationContext.xml文件没有在/WEB-INF/下,或文件名不一致,或存在多个Spring配置文件,在web.xml文件中根据下面代码修改
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath*:applicationContext-*.xml,/WEB-INF/applicationContext.xml,/WEB-INF/classes/applicationContext-*.xml
</param-value>
</context-param>
相关推荐
Spring 的监听器 ContextLoaderListener 的作用 ContextLoaderListener 是 Spring 框架中的一种监听器,它的主要作用是启动 Web 容器时,自动装配 ApplicationContext 的配置信息。它实现了 ServletContextListener...
在Java Web开发中,`org.springframework.web.context.ContextLoaderListener` 是Spring框架的一部分,它负责初始化一个Web应用程序的Spring上下文。这个监听器是基于Servlet容器(如Tomcat、Jetty等)的,当Web应用...
`ContextLoaderListener`是Spring框架中的一个监听器,它负责初始化Spring应用上下文。下面将详细解析`web.xml`中`ContextLoaderListener`的运行过程。 ### 1. `web.xml`的作用 `web.xml`文件主要用来定义Servlet、...
ContextLoaderListener的作用范围更广,涵盖了整个Spring应用的生命周期。 4. 结构关系:DispatcherServlet可以访问由ContextLoaderListener创建的全局ApplicationContext,同时还可以拥有自己的局部(servlet)...
【Spring在Web项目中的应用】 ...同时,通过监听器`ContextLoaderListener`,可以在Web容器启动时自动加载Spring配置,确保在整个Web应用程序生命周期中,Service层和其他Spring管理的bean都可以正确地被创建和管理。
然而,在实际操作过程中,开发者经常会遇到各种问题,其中之一就是"ContextLoaderListener not found"的错误。这个错误通常出现在尝试启动基于Spring MVC的Web应用程序时,因为它无法找到用于初始化Spring应用上下文...
这种方式类似于设计模式中的单例模式,但不同之处在于,这里的"单例"是指在Spring容器内只有一个Bean实例,而不是在整个应用程序或JVM中。 - 配置Singleton Bean的例子是:`<bean id="role" class="spring.chapter2...
标题“Spring之Spring2.5集成Struts2.2”涉及到的是在Web开发中整合两个非常流行的开源框架——Spring和Struts2的过程。这个过程旨在利用Spring的强大IoC(Inversion of Control,控制反转)和AOP(Aspect Oriented ...
3. **配置Jersey**:在`web.xml`中设置Jersey的Servlet,同时配置Spring的ContextLoaderListener,以加载Spring配置: ```xml <servlet-name>jersey-serlvet <servlet-class>org.glassfish.jersey.servlet....
最后,应用的启动入口通常是一个Servlet或Filter,例如Spring的ContextLoaderListener或DelegatingFilterProxy,它们负责初始化Spring容器,并在Web应用启动时加载配置。 总结起来,整合Spring、SpringMVC和MyBatis...
2. 配置Spring MVC:创建web.xml文件,配置DispatcherServlet和ContextLoaderListener。 3. 创建Controller:编写处理HTTP请求的Controller类,使用@RequestMapping注解映射URL。 4. 定义Service和DAO:分别处理业务...
Spring MVC 是一个基于 DispatcherServlet 的 MVC 框架,它是当前主流的 Web 框架之一。要想灵活运用 Spring MVC 来应对大多数的 Web 开发,就必须要掌握它的配置及原理。 一、Spring MVC 环境搭建 1. jar 包引入 ...
Spring框架是Java开发中最常用的轻量级开源框架之一,它为构建企业级应用程序提供了全面的基础设施。Spring 5.1.5是该框架的一个稳定版本,包含了许多改进和新特性。在这个版本中,我们主要关注`spring-web`模块中的...
【标题】"maven与spring MVC"涉及到的是Java Web开发中的两个关键组件——Maven和Spring MVC,它们在构建和管理复杂项目时起着至关重要的作用。Maven是一个项目管理和综合工具,它通过提供一个标准化的构建过程和...
org.springframework.web.context.ContextLoaderListener.class org.springframework.web.context.ContextLoaderServlet.class org.springframework.web.context.ServletConfigAware.class org.springframework.web....
<listener-class>com.bstek.dorado.context.spring.SpringContextLoaderListener</listener-class> <param-name>contextConfigLocation <param-value>classpath:spring-context.xml ... ``` 在Dorado的...
6. **过滤器配置**:在Web应用的部署描述符`web.xml`中,需要配置Struts的Filter和Spring的ContextLoaderListener。Struts Filter负责处理HTTP请求,而ContextLoaderListener则初始化Spring的ApplicationContext。 ...
监听器如 ContextLoaderListener 在项目启动时加载 Spring 配置文件并保存到 application 对象中,WebApplicationContextUtils 可以从 application 对象中获取 Spring 上下文。 【Spring 与 Hibernate 整合】 ...
在Java Web开发中,Spring框架和Servlet是两个重要的组件,它们在构建现代应用程序时起着核心作用。Spring是一个全面的企业级应用框架,提供了依赖注入、面向切面编程、数据访问、事务管理等功能,而Servlet是Java ...
6. 配置Web.xml:添加Struts2的过滤器,以及Spring的ContextLoaderListener,启动时加载Spring容器。 7. 编写JSP页面:作为视图展示结果,使用Struts2标签库进行交互。 这个源码包提供的sshweb项目,就是这样一个...