`

spring的ContextLoaderListener

阅读更多

 1:spring 参数配置

 

 

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参数:

 

<context-param> 
        <param-name>contextConfigLocation</param-name> 
        <param-value> 
            /WEB-INF/classes/applicationContext-*.xml  
        </param-value> 
    </context-param> 
<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等文件,都会一同被载入。

 

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

 

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

 

第二种:将之放到classpath下,但是此时要在web.xml中加入<context-param>,用它来指明你的

 

applicationContext.xml的位置以供web容器来加载。按照Struts2 整合spring的官方给出的档案,写成:

 

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

 

2: web.xml中配置ContextLoaderListenner

 

<listener>
    <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
  </listener>

 

 

分享到:
评论
3 楼 chensongIT 2014-01-22  
希望能添加分享到qq空间的功能!!
2 楼 chensongIT 2014-01-22  
       
1 楼 di1984HIT 2013-11-24  
真的鞋的很好。

相关推荐

    Spring的监听器ContextLoaderListener的作用

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

    整合spring+dorado

    &lt;listener-class&gt;com.bstek.dorado.context.spring.SpringContextLoaderListener&lt;/listener-class&gt; &lt;param-name&gt;contextConfigLocation &lt;param-value&gt;classpath:spring-context.xml ... ``` 在Dorado的...

    struts2和Spring整合需要的jar包

    Struts2的前端控制器Filter需要被配置,同时Spring需要配置ContextLoaderListener来加载Spring的配置文件。 ```xml &lt;!-- Struts2 Filter --&gt; &lt;filter-name&gt;struts2 &lt;filter-class&gt;org.apache.struts2....

    flex-spring.pdf

    &lt;listener-class&gt;org.springframework.web.context.ContextLoaderListener ``` 其中`applicationContext.xml`是Spring的配置文件,定义了Bean的配置信息。 - **编写Spring Factory**:为了能够从Flex端访问...

    Struts_2_1_6和Spring整合

    Struts 2 FilterDispatcher负责处理HTTP请求,而SpringContextLoaderListener则初始化Spring应用上下文。 5. **测试与运行**:启动服务器,通过URL访问Action,验证整合是否成功。如果配置正确,Action中的依赖对象...

    JSF+Spring+JPA(Hibernate实现)的环境搭建

    - 注册Spring ContextLoaderListener以加载Spring配置文件。 - 配置JSF支持,包括配置文件路径、状态保存方法等。 - 添加Facelets支持,以便使用XHTML格式的页面。 - 配置Ajax4jsf过滤器,用于处理AJAX请求。 #...

    使用Spring Security开发安全的Java程序.pdf

    &lt;listener-class&gt;org.springframework.web.context.ContextLoaderListener ``` 这里,`contextConfigLocation`参数指定了Spring Security的配置文件位置,通常位于`/WEB-INF/spring-security.xml`。 **3. Spring...

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

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

    spring整合jdbc hbm struts 的各种配置

    4. 在 web.xml 中,添加 Struts2 的初始化过滤器,并配置 Spring ContextLoaderListener,使得 Struts2 可以访问 Spring 容器。 ```xml &lt;!-- web.xml --&gt; &lt;listener-class&gt;org.springframework.web.context....

    Hibernate+Spring+Struts2+ExtJS开发CRUD功能

    - **Spring ContextLoaderListener**:配置Spring上下文加载监听器,允许Spring在应用启动时读取并初始化配置文件,通常使用通配符来指定配置文件的位置。 - **CharacterEncodingFilter**:解决字符编码问题,统一...

    ssm框架搭建.pdf

    在SSM框架中,我们需要配置Spring MVC的DispatcherServlet,以及Spring的ContextLoaderListener,用于初始化Spring容器。 ```xml ... &lt;!-- Spring ContextLoaderListener --&gt; &lt;listener-class&gt;org.spring...

    flex与ssh项目集合[参照].pdf

    &lt;listener-class&gt;org.springframework.web.context.ContextLoaderListener ``` 这样,Spring的IoC容器将在Web应用启动时加载`applicationContext.xml`配置文件,并管理声明的bean。 2. **自定义SpringFactory...

    Struts1.x Spring2.x Hibernate3.x DWR2.x整合工具文档v1.00

    - **配置Spring ContextLoaderListener**:通过`ContextLoaderListener`来加载Spring的应用上下文。 ```xml &lt;param-name&gt;contextConfigLocation &lt;param-value&gt;classpath:applicationContext*.xml org....

    云门户rest开发

    3. 配置`web.xml`文件,设置`context-param`来指定Spring配置文件的位置,然后添加两个监听器,一个是`ResteasyBootstrap`,另一个是`SpringContextLoaderListener`,用于启动RESTEasy和Spring的上下文。最后,配置...

    ssh整合代码(struts2.0+hibernate+spring)

    &lt;listener-class&gt;org.springframework.web.context.ContextLoaderListener &lt;!-- Hibernate Dialect 配置 --&gt; &lt;param-name&gt;contextConfigLocation &lt;param-value&gt;/WEB-INF/applicationContext.xml ``` ...

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

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

    DispatcherServlet 和 ContextLoaderListener 区别

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

    ssh配置文件

    - **Spring监听器和配置**:Spring ContextLoaderListener负责加载Spring配置文件,而参数`contextConfigLocation`指定了配置文件的位置: ```xml &lt;param-name&gt;contextConfigLocation &lt;param-value&gt;classpath:...

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

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

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

    `ContextLoaderListener`是Spring框架的一部分,它负责在Web应用启动时加载并管理Spring的应用上下文。这个监听器是通过在`web.xml`配置文件中声明来注册的。当Tomcat等应用服务器启动时,会读取`web.xml`并尝试创建...

Global site tag (gtag.js) - Google Analytics