在web项目中我们自动加载spring配置文件需要在web.xml文件中添加一段配置,也就是最常用的监听器

  1. <!-- 配置spring容器监听器 -->
  2. <context-param>
  3. <param-name>contextConfigLocation</param-name>
  4. <param-value>/WEB-INF/classes/config/spring/applicationContext-*.xml</param-value>
  5. </context-param>
  6. <listener>
  7. <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
  8. </listener>

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>

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

转载于:https://www.cnblogs.com/wangshixin/p/6405768.html

spring 监听器相关推荐

  1. spring 监听器简介

    在java web项目中我们通常会有这样的需求:当项目启动时执行一些初始化操作,例如从数据库加载全局配置文件等,通常情况下我们会用javaee规范中的Listener去实现 常用的监听器有spring ...

  2. Spring监听器的完整使用步骤

    一.使用步骤   简单来说,spring中监听器的使用分为两个步骤:注册Application监听器和发布Application事件.具体实现一下: 1. 自定义事件 spring定义了一个标准的事件 ...

  3. spring源码解读系列(八):观察者模式--spring监听器详解

    一.前言 在前面的文章spring源码解读系列(七)中,我们继续剖析了spring的核心refresh()方法中的registerBeanPostProcessors(beanFactory)(完成B ...

  4. spring 监听器 IntrospectorCleanupListener简介

    转自:https://blog.csdn.net/ywb201314/article/details/51144256 其中JavaBeans Introspector是一个类,位置在Java.bea ...

  5. spring 三级缓存_通过画图+视频把循环依赖、监听器等等spring源码讲明白了

    大家在阅读源码的时候有没有这种感觉:每次要看源码的时候十分信誓旦旦逼迫自己努力看着源码,但是还没看多长时间就会感觉枯燥,无味没意思,所以我是十分不愿意去看源码,但是今天福利来了,有位大神通过画图+视频 ...

  6. java观察者模式在spring中的应用_Spring源码之spring中的观察者模式和监听器的使用...

    声明:本文根据鲁班学院子路老师spring中观察者模式课程整理得来 观察者模式特点: 被观察者持有监听的观察者的引用. 被观察者支持增加和删除的观察者. 被观察者状态改变通知观察者. JDK中观察者i ...

  7. 监听器如何获取Spring配置文件

    我的个人博客站点:[http://blog.itcodai.com](http://blog.itcodai.com) 我们在做项目的时候,会用到监听器去获取Spring的配置文件,然后从中拿出我们需 ...

  8. SSM框架整合(Spring+SpringMVC+MyBatis)

    输出结果 1.Maven Web项目创建 之前有写过Eclipse+Maven创建web项目的帖子,如果需要,请参考这里写链接内容 创建好项目之后因为入下图: 2.SSM整合 2.1 引入需要的JAR ...

  9. idea springmvc_SSM三大框架使用Maven快速搭建整合(SpringMVC+Spring+Mybatis)

    本文介绍使用SpringMVC+Spring+MyBatis三大框架使用Maven快速搭建一个demo,实现数据从数据库中查询返回到页面进行展示的过程. 技术选型:SpringMVC+Spring+M ...

  10. SSM框架整合(IntelliJ IDEA + maven + Spring + SpringMVC + MyBatis)

    使用IDEA创建Spring + SpringMVC + MyBatis 框架的Maven的项目. 一. 创建maven项目 1. File -> New Module,进入创建项目窗口. 2. ...

最新文章

  1. P1203 [USACO1.1]坏掉的项链Broken Necklace
  2. 从零开始学习jQuery (七) jQuery动画-让页面动起来!
  3. 计算营业额python_用python教你计算定投能获得多少收益
  4. tomcat的基本使用
  5. oracle主机名的脚本,一个开启Oracle服务和更改主机名的脚本-Oracle
  6. jdbc-------JDBCUtil类 工具类
  7. java 数组赋值_自学JAVA每日记录(10)-欢迎指点欢迎共勉
  8. spring boot实现WebMvcConfigurer接口定制SpringMvc配置
  9. matlab 小波启发式阈值滤波,小波阈值去噪
  10. 【转】async await 的前世今生(Updated)
  11. 文字处理技术:布局绘制的方向有哪些?
  12. python3清屏命令_python3.4中清屏的处理方法
  13. 原生PHP配置paypal支付接口成功!不用Composer!
  14. 超简洁又强大的幻灯片JS、CSS代码,兼容性强
  15. java mpeg ps转mpeg-4_MPEG4格式转换器下载_枫叶MPEG4格式转换器(MPEG转换器) 9.0.5.0 共享版_极速下载站...
  16. 如何查看电脑ip地址
  17. 基于Java+SpringBoot+Thymeleaf+Mysql在线电影院选座订票系统设计与实现
  18. 广义SAM(SAM套trie)
  19. 计算机课程word教学,浅谈计算机Word表格的制作课程教学
  20. 跟读 播放器 android,安卓手机英语学习利器 android 英语复读 跟读 练听力 练口语...

热门文章

  1. WEB自动化(Python+selenium)的API
  2. 一道隐藏欺诈的JavaScript面试题
  3. linux rootfs制作
  4. Django 视图与网址
  5. 众说纷纭的ul、ol、li
  6. JAVAFX-1 开发应用
  7. javascript中实现动画是settimeout(递归)还是用setinterval好?
  8. 【JAVA】虚拟机指令集
  9. 自己动手写PHP MVC框架
  10. Altium Designer(三):基础