applicationContext.xml和dispatcher-servlet.xml的区别

2023-10-30


Spring 官方文档介绍如下:

Spring lets you define multiple contexts in a parent-child hierarchy.  
    The applicationContext.xml defines the beans for the "root webapp context", i.e. the context associated with the webapp.  
    The spring-servlet.xml (or whatever else you call it) defines the beans for one servlet's app context. There can be many of these in a webapp, one per Spring servlet (e.g. spring1-servlet.xml for servlet spring1, spring2-servlet.xml for servlet spring2).  
    Beans in spring-servlet.xml can reference beans in applicationContext.xml, but not vice versa.  
    All Spring MVC controllers must go in the spring-servlet.xml context.  
    In most simple cases, the applicationContext.xml context is unnecessary. It is generally used to contain beans that are shared between all servlets in a webapp. If you only have one servlet, then there's not really much point, unless you have a specific use for it.

可见, applicationContext.xml 和 dispatch-servlet.xml形成了两个父子关系的上下文。

  1) 一个bean如果在两个文件中都被定义了(比如两个文件中都定义了component scan扫描相同的
package), spring会在application context和 servlet context中都生成一个实例,他们处于不同的
上下文空间中,他们的行为方式是有可能不一样的。
  2) 如果在application context和 servlet context中都存在同一个 @Service 的实例, 
controller(在servlet context中) 通过 @Resource引用时, 会优先选择servlet context中的实例。
  不过最好的方法是:在applicationContext和dispatcher-servlet定义的bean最好不要重复, 
dispatcher-servlet最好只是定义controller类型的bean。
-----------------------------------------------------------------------------------------
----------------------------------------------
  ApplicationContext.xml  是spring 全局配置文件,用来控制spring 特性的
  dispatcher-servlet.xml 是spring mvc里面的,控制器、拦截uri转发view
  使用applicationContext.xml文件时是需要在web.xml中添加listener的:
  <listener>
      <listener-class>org.springframework.web.context.ContextLoaderListener</listener-
class>

  </listener>


参考文章来源:

http://www.cnblogs.com/parryyang/p/5783399.html

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

applicationContext.xml和dispatcher-servlet.xml的区别 的相关文章

  • Java中哈希集(HashSet)概念,实现以及操作

    Java中HashSet的用法 1 HashSet概念 2 Java文档中HashSet的实现 3 HashSet的构造函数 3 1 HashSet 3 2 HashSet int initialCapacity 3 3 HashSet i
  • Ubuntu 安装 pytorch

    使用 pytorch 进行深度学习训练 这也是我不得不选择 linux 的原因 系统 ubuntu 22 04 型号 Lenovo Yoga 14sIHU 2021 集显 Irix Xe lspci grep i vga 独显 GeForc
  • diff linux文件夹patch,Linux中的版本控制---diff和patch命令

    一 构造两个用于测试的文件 hello txt world txt 二 用diff命令比较两个文本文件的差异 对这个两个文本文件执行diff 命令 并通过输出重定向 将差异保存在diff txt文件中 diff u hello txt wo
  • 使用 Docker Compose 部署 Elasticsearch + Kibana

    本篇文章主要介绍了使用 Docker Compse 部署 Elasticsearch Kibana 并整合到 Spring Boot 项目中的详细步骤 Elasticsearch Kibana 版本 7 17 0 7 的最新版本 Sprin
  • Android 语音播放Media Player

    原文地址 https developer android com guide topics media mediaplayer html viacontentresolver 语音播放 因为实习工作相关的缘故 最近在学习android语音播
  • 多个RecycleView 嵌套显示不全的情况

    场景 项目中最外层使用ScrollView 里面嵌套了recycleview recycleview中又嵌套了多个recycleview 导致部分recycleview显示不出来 app界面的结构图
  • 空间域图像增强:图像锐化/增强

    空间域图像增强 OpenCV图像锐化 增强 0 综述 1 Laplacian高通滤波算子 2 Laplacian锐化代码实践 3 USM锐化增强算法 4 USM代码实践 0 综述 图像的卷积计算除了可以完成我们前面介绍的模糊去噪 边缘检测等
  • anaconda3.6.5安装pyhive

    1 首先安装anaconda3 6 5 略 2 配置好bin下环境变量 3 来到anaconda官网 搜索需要的包 pyhive 不是anaconda前缀的也行 例如biaze pyhive https anaconda org anaco
  • Qt学习笔记

    1 Qt 音同 cute 是一个跨平台的 C 开发库 主要用来开发图形用户界面 Graphical User Interface GUI 程序 当然也可以开发不带界面的命令行 Command User Interface CUI 程序 2
  • Ubuntu 16.04出现:Problem executing scripts APT::Update

    Ubuntu 16 04出现 Problem executing scripts APT Update Post Invoke Success if usr bin test w var cache app info a e usr bin
  • unity按钮实现人物变大效果

    unity按钮实现人物变大效果 游戏里面模型变大效果的实现 如下动态图所示 点我下载 https download csdn net download weixin 43474701 71975042
  • java 通过pdf模板,生成PDF,并下载到本地

    注意 本例子是从向模板定义的变量赋值 而不是从无到有的来生成pdf 直接就能用 maven依赖
  • 精通MySQL之架构篇

    今天给大家分享的是大数据开发基础部分MySQL的第一篇 老刘讲点和别人不一样的内容 众多伙伴都知道MySQL的基础知识以及使用 但是对里面的原理知道的不多 咱们学知识只看表面绝对是不行的 所以老刘争取把MySQL的架构知识给大家讲明白 My
  • Shell编程之echo命令

    Shell 的 echo 指令与 PHP 的 echo 指令类似 都是用于字符串的输出 命令格式 echo string 您可以使用echo实现更复杂的输出格式控制 1 显示普通字符串 echo It is a test 这里的双引号完全可
  • Vue3 (computed函数,watch函数,watchEffect函数)

    1 computed函数 与vue2中computed配置功能一致 变化 需要引入 组合式的API
  • 树莓派第一讲:入门那些事(系统烧录、外设连接)

    目录 基本了解 系统烧录 连接外设 基本了解 树莓派4B是一款单板计算机 采用ARM架构处理器 配备4GB内存 Gigabit以太网口 多个USB接口 HDMI输出接口等 它具备1 5Ghz运行的64位四核处理器 最高支持以60fps速度刷
  • 因果推断 - 基础知识

    目录 因果关系之梯 因果图的路径结构 阻断 d 分离 混杂 结构因果模型 SCM 版权 转载前请联系作者获得授权 声明 部分内容出自因果关系之梯 已获得原作者授权 参考书籍 The Book of Why Judea Pearl 因果关系之
  • 什么是回调函数Callback----自己的一点理解

    何为回调函数 若把函数的指针作为函数参数传递给一个函数 当这个指着被用来调用它所指向的函数时 我们将该指针所指向的函数称为回调函数 回调函数与普通函数最大区别在于函数的调用 对普通函数而言 函数实现者可以直接拿来用 可以直接将它放在main
  • 金山逍遥网 sersync 服务器实时镜像同步方案

    金山逍遥网 sersync 服务器实时镜像同步方案 1 sersync rsync原理 2 inotify和sersync同步的区别 3 配置sersync rsync实现实时同步 2台centos7 4 一台装sersync一台装rsyn
  • 『网络安全』蜜罐到蜜网入门指南(三)蜜罐内部组成分析

    原创不易 点个赞呗 如果喜欢 关注 收藏不迷路 前言 大家好 网络安全 蜜罐到蜜网入门指南 进入第三篇 通过前面的内容 我们知道了什么是蜜罐以及蜜罐的作用和分类等 点击下方链接 可快速查看 相关文章 网络安全 蜜罐到蜜网入门指南 一 蜜罐初

随机推荐

  • php执行命令的函数和方法

    PHP提供4个专门的执行外部命令的函数 exec system passthru shell exec 1 exec 原型 string exec string command array output int return var 说明
  • Win10+Ubuntu双系统 使用EasyUEFI修复Ubuntu引导启动项

    某同事安装了Win10 Ubuntu双系统 有一天电脑突然坏了开不了机 把硬盘拆下放到别的机器上 发现是直接进入Win10系统 而不是grub选择界面 进F12也找不到ubuntu的启动项 最开始我先使用 Win10 Ubuntu双系统修复
  • 在项目中添加天气预报功能

    查看当地的天气情况 调用七日的天气预报情况 天气预报 注册账号获取appid和APPSecret使用 https www tianqiapi com api 图标可以直接在网站上下载
  • CoreDNS 惊现诡异 bug,导致服务大面积中断

    Sealos 公众号已接入了 GPT 4 完全免费 欢迎前来调戏 原文链接 https juejin cn post 7277471908417110053 我是 LEE 老李 一个在 IT 行业摸爬滚打 17 年的技术老兵 事件背景 某天
  • Flutter开发(十二)—— 页面跳转与返回

    示例代码 以下代码展示页面跳转与返回 抛开所有复杂因素 只展示最简单的跳转 第一个页面 点击按钮时onPressed 进行相应 通过 Navigator push 和 MaterialPageRoute 进行页面跳转功能实现 第二个页面 点
  • python中百分数如何表达_Python转换百分数表示法

    YAML中任何以百分号结尾的数字序列都将 通常作为字符串标量加载 因为 不会 标量匹配任何其他模式 尤其是不匹配整数的模式 或浮动 当然 您可以递归地遍历数据结构 从YAML和patch加载 但是如果在 数据结构 用于构造特定对象 递归到这
  • passwd: Authentication token manipulation error----linux

    author skatetime 2009 04 11 更改centos4 7 linux的root密码 报 passwd Authentication token manipulation error 如下所示 root ticket A
  • react移动端适配

    一 自定义方法配置 1 使用JavaScript动态设置根元素的字体大小 为了实现响应式的自适应效果 可以结合JavaScript根据屏幕大小动态设置根元素的字体大小 可以使用window innerWidth获取窗口的宽度 然后根据需要的
  • Q_PROPERTY

    一 定义 Qt提供了一个成熟的属性系统 Q PROPERTY是一个宏 用来在类中声明一个属性 由于该特性是Qt所特有的 需要moc进行编译 故必须继承QObject 查看Qt助手 我们可以看到如下定义 看不懂 其实 这是一个正则表达式 我们
  • Selenium Web自动化测试框架实践

    功能实现 自动运行用例 自动生成测试报告 自动断言与截图 自动将最新测试报告发送到指定邮箱 自动生成测试报告 数据 页面元素 测试用例分离 执行日志 分布式执行 配置化文件 元素 数据 实践功能 https passport csdn ne
  • AUC,ROC我看到的最透彻的讲解

    面试的时候 一句话说明AUC的本质和计算规则 AUC 一个正例 一个负例 预测为正的概率值比预测为负的概率值还要大的可能性 所以根据定义 我们最直观的有两种计算AUC的方法 1 绘制ROC曲线 ROC曲线下面的面积就是AUC的值 2 假设总
  • 前端异步编程的进化之旅 promise generator aysnc/await

    promise generator aysnc await 1 三者都是异步编程的解决方案 不同的是 promise为较早出来的 其次generator 最后为async await 三者象征了前端进行解决异步编程的进化路程 promise
  • 接口的概念及接口的方法是怎么使用的

    接口 一个完成某些特定功能的类 是一个功能的集合 语法为 接口修饰符 interface 接口名称 成员变量和方法的声明 成员变量默认为public static final类型 类不能多继承 但可通过接口实现多层继承 接口既可以多层继承
  • Opencv-C++笔记 (11) : opencv-图像二值化与LUB查找表

    文章目录 一 概述 二 THRESH BINARY和THRESH BINARY INV 三 THRESH TRUNC 四 THRESH TOZERO和THRESH TOZERO INV 五 THRESH OTSU和THRESH TRIANG
  • Python爬虫进阶必备

    X天下密码加密分析 本次的受害者 aHR0cHM6Ly9wYXNzcG9ydC5mYW5nLmNvbS8 分析 通过输入错误密码抓包查看加密字段 图1 1 图1 1 直接通过检索pwd 定位加密位置 图1 2 图1 2 根据检索结果给对应的
  • 完美解决 IDEA plugins 插件搜索不出结果

    进入设置 勾选Auto detect proxy settings 输入URL http 127 0 0 1 1080 点击OK 最后 重启 IEDA 即可
  • 注解 @Transactional 事务类内调用不生效问题及解决办法

    Transactional 内部调用例子 在 Spring 的 AOP 代理下 只有目标方法由外部调用 目标方法才由 Spring 生成的代理对象来管理 这会造成自调用问题 若同一类中的其他没有 Transactional 注解的方法内部调
  • 基于FPGA的卷积网络加速(1)

    vivado hls是用高级语言设计硬件电路的IDE vivado sdsoc则用于软硬件协同也就是arm传数据到FPGA FPGA把结果传回到FPGA 开发人员不需要知道繁琐的接口的写法 只需要指定硬件函数和调用就可以 卷积神经网络加速
  • [记录学习]自学动力节点老杜MyBatis笔记_02

    MyBatis自学笔记 首先感谢动力节点和杜老师的教学分享 Respect 学习来源 B站 https www bilibili com video BV1JP4y1Z73S p 1 vd source 07c8a1a7d89af39fe2
  • applicationContext.xml和dispatcher-servlet.xml的区别

    Spring 官方文档介绍如下 Spring lets you define multiple contexts in a parent child hierarchy The applicationContext xml defines