`
bear999
  • 浏览: 74507 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

ContextLoaderListener

阅读更多

ContextLoaderListener的作用就是启动Web容器时,自动装配ApplicationContext的配置信息。因为它实现了ServletContextListener这个接口,在web.xml配置这个监听器,启动容器时,就会默认执行它实现的方法。至于ApplicationContext.xml这个配置文件部署在哪,如何配置多个xml文件,书上都没怎么详细说明。现在的方法就是查看它的API文档。在ContextLoaderListener中关联了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参数:

1. <context-param>
2. <param-name>contextConfigLocation</param-name>
3. <param-value>
4. /WEB-INF/classes/applicationContext-*.xml
5. </param-value>
6. </context-param>

在<param-value> </param-value>里指定相应的xml文件名,如果有多个xml文件,可以写在一起并一“,”号分隔。上面的applicationContext-*.xml采用通配符,比如这那个目录下有applicationContext-ibatis-base.xml,applicationContext-action.xml,applicationContext-ibatis-dao.xml等文件,都会一同被载入。

由此可见applicationContext.xml的文件位置就可以有两种默认实现:

第一种:直接将之放到/WEB-INF下,之在web.xml中声明一个listener、

第二种:将之放到classpath下,但是此时要在web.xml中加入<context-param>,用它来指明你的applicationContext.xml的位置以供web容器来加载。按照 Struts2 整合spring的官方给出的档案,写成:

1. <!-- Context Configuration locations for Spring XML files -->
2. <context-param>
3. <param-name>contextConfigLocation</param-name>
4. <param-value>/WEB-INF/applicationContext-*.xml,classpath*:applicationContext-*.xml</param-value>
5. </context-param>

分享到:
评论

相关推荐

    Spring的监听器ContextLoaderListener的作用

    Spring 的监听器 ContextLoaderListener 的作用 ContextLoaderListener 是 Spring 框架中的一种监听器,它的主要作用是启动 Web 容器时,自动装配 ApplicationContext 的配置信息。它实现了 ServletContextListener...

    web.xml中ContextLoaderListener的运行过程解析

    `ContextLoaderListener`是Spring框架中的一个监听器,它负责初始化Spring应用上下文。下面将详细解析`web.xml`中`ContextLoaderListener`的运行过程。 ### 1. `web.xml`的作用 `web.xml`文件主要用来定义Servlet、...

    DispatcherServlet 和 ContextLoaderListener 区别

    在Java Web开发中,DispatcherServlet和ContextLoaderListener都是Spring框架中的关键组件,它们各自承担着不同的职责,共同构建了一个高效、灵活的Web应用程序。这里我们将深入探讨这两个组件的区别及其工作原理。 ...

    ssh整合时遇到常见错误 ContextLoaderListener not found 解决

    然而,在实际操作过程中,开发者经常会遇到各种问题,其中之一就是"ContextLoaderListener not found"的错误。这个错误通常出现在尝试启动基于Spring MVC的Web应用程序时,因为它无法找到用于初始化Spring应用上下文...

    java解决org.springframework.web.context.ContextLoaderListener

    在Java Web开发中,`org.springframework.web.context.ContextLoaderListener` 是Spring框架的一部分,它负责初始化一个Web应用程序的Spring上下文。这个监听器是基于Servlet容器(如Tomcat、Jetty等)的,当Web应用...

    Web项目中使用Spring, 使用 Spring 的器监听器 ContextLoaderListener.docx

    【Spring在Web项目中的应用】 ...同时,通过监听器`ContextLoaderListener`,可以在Web容器启动时自动加载Spring配置,确保在整个Web应用程序生命周期中,Service层和其他Spring管理的bean都可以正确地被创建和管理。

    精品专题(2021-2022年收藏)spring项目中监听器作用.doc

    本文将深入探讨Spring框架中的监听器,特别是`ContextLoaderListener`的作用及其配置。 `ContextLoaderListener`是Spring框架提供的一个核心监听器,主要用于初始化和销毁Spring的WebApplicationContext。它是...

    Spring-5.1.5源码

    在这个版本中,我们主要关注`spring-web`模块中的`org.springframework.web.context.ContextLoaderListener`类,它是Spring MVC应用的核心部分。 `ContextLoaderListener`是一个实现了`javax.servlet....

    框架源码专题

    本篇文章将重点介绍Spring框架的启动过程,特别是通过`web.xml`配置文件中的`ContextLoaderListener`来初始化Spring上下文的部分。 ##### 2.1 `ContextLoaderListener`简介 `ContextLoaderListener`是Spring Web...

    Spring在容器在启动的时候发生了什么

    `&lt;context-param&gt;`中的`webAppRootKey`定义了Web应用程序的根目录键,而`&lt;listener&gt;`标签注册了两个监听器:`ContextLoaderListener`和`IntrospectorCleanupListener`。 `ContextLoaderListener`是Spring提供的一种...

    spring3.x的读书笔记3

    在Spring 3.x版本中,WebApplicationContext的初始化是通过Web容器来完成的,主要有两种方式:使用ContextLoaderListener或ContextLoaderServlet。 1. **ContextLoaderListener启动WebApplicationContext** ...

    spring在web.xml中和在struts中的不同配置.[收集].pdf

    当`ContextLoaderListener`或`ContextLoaderServlet`初始化WebApplicationContext时,它们会创建一个`XmlWebApplicationContext`实例(默认实现),并将它放入ServletContext中。ServletContext也是容器,存储了Web...

    Spring与Web环境集成.pdf

    Spring框架提供了一个监听器ContextLoaderListener,就是对上述功能的封装,该监听器内部加载Spring配置文件,创建应用上下文对象,并存储到ServletContext域中。同时,Spring还提供了一个客户端工具...

    使用MyEclipse集成SSH和DWR【最佳方案】

    - 最佳实践建议:使用Struts Plugin来加载`action-servlet.xml`,而通过`ContextLoaderListener`或`ContextLoaderServlet`加载`applicationContext.xml`,以此实现分阶段加载Spring配置文件的目标。 #### 二、...

    SSH笔记-web应用下使用Spring

    在这个笔记中,我们将深入探讨如何在Web应用环境下使用Spring框架,特别是通过两种不同的方法:配置监听器类和调用HttpServlet类,以及配置ContextLoaderListener。 首先,Spring框架在Web应用中的主要作用是提供...

    spring中的所有配置

    在Spring框架中,`ContextLoaderListener`是一个非常重要的监听器,它用于初始化Web应用程序上下文。当Web容器启动时,它会触发`ContextLoaderListener`,该监听器将读取并创建一个WebApplicationContext。这通常在`...

    Spring源码学习七:web应用自动装配Spring配置文件1

    `ContextLoaderListener`的`contextInitialized`方法主要负责调用`initWebApplicationContext`方法,该方法在`ContextLoader`类中实现,其作用是初始化Web环境下的Spring应用上下文(ApplicationContext)。...

    web.xml配置解析.pdf

    ContextLoaderListener 是Spring框架中一个重要的组件,它作为Servlet容器的监听器(ServletContextListener),在Web应用程序启动时自动加载ApplicationContext的配置信息。当web.xml中配置了`&lt;listener-class&gt;org...

    加载spring 文件,在web.xml中的配置

    如果同时使用了`ContextLoaderListener`和`ContextLoaderServlet`,那么`ContextLoaderServlet`的配置将会覆盖`ContextLoaderListener`。因此,一般情况下,我们只选择其中一种方式来加载Spring配置。 5. **自定义...

    spring配置.txtspring配置.txt

    通过对给定文件的分析,我们了解了Spring框架中XML配置的基本用法,包括如何配置`ContextLoaderListener`和`ContextLoaderServlet`,以及如何利用自动装配机制来简化依赖注入过程。这些配置对于构建基于Spring的Web...

Global site tag (gtag.js) - Google Analytics