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

view plaincopy to clipboardprint?
<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的官方给出的档案,写成:

view plaincopy to clipboardprint?
<!-- 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>

ContextLoaderListener的用途以及配置方式相关推荐

  1. struts+spring的配置方式总结

    现在最流行的j2ee的程序,一般都是用struts+spring+hibernate框架做的,spring+hibernate的配置方式很简单,这里就不说了,下面对struts+spring的几种配置 ...

  2. 常用的两种spring、mybatis 配置方式

    转载自http://blog.csdn.net/qh_java/article/details/51601139 在之前的文章中总结了三种方式,但是有两种是注解sql的,这种方式比较混乱所以大家不怎么 ...

  3. Dubbo(四)之xml配置方式

    转载自  Dubbo xml配置方式 以 XML 配置的方式来配置你的 Dubbo 应用 有关 XML 的详细配置项,请参见:配置参考手册.如果不想使用 Spring 配置,而希望通过 API 的方式 ...

  4. vSAN推荐的IO控制器的配置方式(转)

    vSAN推荐的IO控制器的配置方式(转) 原创 苏旭 乐生活与爱IT 2017-05-01 https://mp.weixin.qq.com/s?__biz=MzA5MzMwMTc2Ng==& ...

  5. Spring配置方式

    将Spring配置到应用开发中有以下三种方式: 基于XML的配置 基于注解的配置 基于Java的配置 基于XML配置  在Spring框架中,依赖和服务需要在专门的配置文件来实现,常用XML格式的配置 ...

  6. 【STM32】通用定时器TIM2-TIM5中断配置方式+继电器控制

    继电器是我们生活中常用的一种控制设备,通俗的意义上来说就是开关,在条件满足的情况下关闭或者开启.继电器的开关特性在很多控制系统尤其是离散的控制系统中得到广泛的应用.从另一个角度来说,由于为某一个用途设 ...

  7. vSAN推荐的IO控制器的配置方式

    在HCI逐渐成为中端存储市场的主流的大趋势下,说 "与人为善,予人vSAN" 还是蛮恰当的.这句话不是我原创的,上网搜索了一下,最早的出处来自,VMware合作伙伴,在河北具有较大 ...

  8. 【原创】vSAN推荐的IO控制器的配置方式

    [编者按] 先祝大家五一节日快乐! 在HCI逐渐成为中端存储市场的主流的大趋势下,说 "与人为善,予人vSAN" 还是蛮恰当的.这句话不是我原创的,上网搜索了一下,最早的出处来自, ...

  9. SSL加速和证书卸载的配置方式

    随着移动互联网,网银支付等等的普及,越来越多的应用开始重视私密性和安全性,最常见的就是把原有基于明文传输的HTTP调整为加密的HTTPS方式:实现这种方式的最常用的手段也是购置第三方发布的域名证书,部 ...

最新文章

  1. Kornia开源可微分计算机视觉库,基于Pytorch,GitHub 3000星
  2. Grafana常用的监控
  3. zabbix安装--LAMP环境下
  4. 人工智能用python还是java_学会java和python语言,可以开始搞人工智能吗?
  5. 【若依(ruoyi)】向DAO中传递动态参数
  6. 两个学习英语的好软件
  7. 条件变量 ---C++17 多线程
  8. Ribbon中的负载均衡算法实现
  9. 中国水稻种子行业市场供需与战略研究报告
  10. Atititv2需求文档模板大纲目录 attilax总结
  11. 一段看不懂的乱码字符_字符乱码的解读
  12. java8编程入门 pdf_Java8编程入门官方教程(第6版).pdf
  13. Q245R正火控扎一探-20℃冲击容器板切割,舞钢Q245R-20℃冲击
  14. 2020宁波银行终面一分钟抽词演讲
  15. 28 | 机器学习:如何教会机器识别黑灰产?
  16. Compiere 开源CRM的比较选择
  17. iText7高级教程之html2pdf——4.使用pdfHTML创建报告
  18. php身份证注册判断重名,同名同姓测试,全国公民身份信息系统库查重名
  19. 网络工程数据通信课程设计之--校园小型网络规划与设计
  20. 音视频开发之旅(34) - 基于FFmpeg实现简单的视频解码器

热门文章

  1. VTK:迭代最近点变换用法实战
  2. wxWidgets:wxSashWindow类用法
  3. boost::mpl::abs相关的测试程序
  4. boost::phoenix::function用法的测试程序
  5. boost::graph::page_rank用法的测试程序
  6. GDCM:gdcm::PhotometricInterpretation的测试程序
  7. boost::contract模块实现sqrt的测试程序
  8. ITK:切割网格CutMesh
  9. DCMTK:演示状态查看器-网络发送组件(存储SCU)
  10. VTK:可视化之ChooseTextColorDemo