spring-mvc.xml与applicationContext.xml的区别

applicationContext.xml 详细配置 立即下载

一、用途不同

applicationContext.xml文件通常用于加载Spring系统级别的组件,比如bean的初始化。
spring-mvc.xml文件通常用于加载controller层需要的类,比如拦截器、mvc标签加载的类。

二、加载位置不同

1️⃣applicationContext.xml加载在标签中,作为FrameworkServlet的参数属性。其是全局的,应用于多个servlet,配合listener一起使用。web.xml中配置如下:

<!-- 配置监听器 -->
<listener>        
    <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>classpath:applicationContext.xml</param-value>
</context-param>

2️⃣spring-mvc.xml当做DispatcherServlet的参数属性进行加载。其是SpringMVC的配置,web.xml中配置如下:

<!--配置SpringMVC DispatcherServlet-->
<servlet>
  <servlet-name>DispatcherServlet</servlet-name>
  <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
  <init-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>classpath:config/spring-mvc.xml</param-value>
  </init-param>
  <load-on-startup>1</load-on-startup>
  <async-supported>true</async-supported>
</servlet>

3️⃣application-context.xml一般是采用非SpringMVC架构,用来加载ApplicationContext。如果直接采用SpringMVC,只需要把所有相关配置放到spring-mvc.xml中就好,一般SpringMVC项目用不到多个servlet。

三、对 web.xml 的说明

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

ContextLoaderListener是Spring的监听器,它的作用就是启动Web容器时,自动装配ApplicationContext的配置信息。因为它实现了ServletContextListener接口,在web.xml配置该监听器,启动容器时,就会默认执行它实现的方法。

<context-param>
     <param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/classes/config/applicationContext.xml</param-value>
     <!--<param-value>classpath*:config/applicationContext.xml</param-value> -->       
</context-param>

这段配置是用于指定applicationContext.xml的位置,可通过context-param加以指定。

如果applicationContext.xml存放在src目录下,那么在web.xml中的配置就如下所示:

<context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>classpath:applicationContext.xml</param-value>
</context-param>

如果applicationContext.xml存放在WEB-INF下面,那么在web.xml中的配置就如下所示:

<context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>WEB-INF/applicationContext.xml</param-value>
</context-param>

需要注意的是,部署到应用服务器后,src目录下的配置文件会和class文件一样,自动copy到应用的classes目录下,spring的配置文件在启动时,加载的是web-info目录下的applicationContext.xml运行时使用的是web-info/classes目录下的applicationContext.xml。因此,不管applicationContext.xml存放在src目录下,还是存放在WEB-INF下面,都可以用下面方式来配置路径:

<context-param>
   <param-name>contextConfigLocation</param-name>
   <param-value>WEB-INF/applicationContext.xml</param-value>
</context-param>

注意:

  1. classpath是指 WEB-INF文件夹下的classes目录
  2. classpath与classpath的区别:
    classpath:指classes路径下文件
    classpath
    :除了classes路径下文件,还包含jar包中文件

当有多个配置文件加载时,可采用下面代码来配置:

<context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value> 
         classpath*:conf/spring/applicationContext_core*.xml, 
         classpath*:conf/spring/applicationContext_dict*.xml,
         classpath*:conf/spring/applicationContext_hibernate.xml,
         ......
    </param-value>
 </context-param>

也可以用下面的这种方式:

<context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>classpath*:**/applicationContext-*.xml</param-value>
</context-param>

注:
**/表示的是任意目录;
**/applicationContext-*.xml表示任意目录下的以“applicationContext-”开头的XML文件。 Spring配置文件最好以“applicationContext-”开头,且最好把所有Spring配置文件都放在一个统一的目录下,也可以分模块创建。

DeepSeek 框架和技术栈分析 DeepSeek 诞生于对更高效、更强大的深度学习计算和模型训练的追求。随着深度学习模型的规模不断增大,如大型语言模型(LLMs)和复杂的视觉模型,传统的框架在处理这些大规模模型时面临着性能瓶颈和资源利用效率低下的问题。DeepSeek 旨在解决这些问题,通过优化框架设计和采用先进的技术栈,实现更高效的模型训练和推理,同时降低计算成本。 阅读详情

相关推荐

从FOC到你的无人机:深入浅出讲透Clark/Park变换在无刷电机控制中的核心作用

本文深入解析Clark变换与Park变换在无刷电机控制中的核心作用,揭示其如何将三相交流电转换为旋转坐标系下的直流量,实现无人机电机的高效精准控制。通过STM32硬件加速和工程实践案例,展示这对数学变换如何成为FOC算法的神经中枢,大幅提升系统响应速度和能效表现。

weixin_42628941的博客 167

Propagation Propagation的七种事务属性 七种事务属性 NOT_SUPPORTED REQUIRED

Propagation类的七种事务属性解释(REQUIRED,SUPPORTS,MANDATORY,REQUIRES_NEW,NOT_SUPPORTED,NESTED,NEVER) Spring中七种Propagation类的事务属性详解: REQUIRED:支持当前事务,如果当前没有事务,就新建一个事务。这是最常见的选择。 required SUPPORTS:支持当前事务,如果当前没有事务,就以非事务方式执行。 supports MANDATORY:支持当前事务,如果当前没有事务,就抛出异常。.

qq_44043843的博客 7048

在PyCharm中配置使用Anaconda环境

在PyCharm中配置使用Anaconda环境一、步骤1.Anaconda2.PyCharm总结 一、步骤 1.Anaconda 如未安装Anaconda可至其官网下载,学习使用个人版就可以了。 下载地址:https://www.anaconda.com/products/individual 1、打开Anaconda Navigator,点击Environments可以看到anaconda中已经有了默认的“base”环境,其中包含了大多数我们会用到的包,在PyCharm中可以直接使用该环境,而无需自行下载

TuckX的博客 19万+

配置applicationContext.xml文件

是Spring应用程序的上下文配置文件,用于定义Spring容器中bean的创建、初始化、装配和管理。在这个文件中,我们可以配置各种bean及其依赖关系,甚至可以定义切面、事务管理、数据源等。每个bean元素都有一个唯一的id属性,用于标识bean实例,还有一个class属性,用于指定bean的实现类。是Spring应用程序的核心配置文件,负责管理和配置应用程序中的各种bean。在这个示例中,我们启用了注解驱动的事务管理,这样我们可以在代码中使用。的方法,Spring会自动调用这个方法,将。

技术研究中心 3382

Carla自动驾驶仿真一:快速安装与运行Carla

网上有不少的Windows版本的Carla的安装教程,这里简单记录下自己安装过程,写的也比较详细,基本不用看其他文章。

zataji的博客 2万+

基于ROS2的无人机野生动物巡查系统设计

自主巡检系统是嵌入式人工智能与机器人技术融合的关键应用方向,其核心在于多源感知融合、实时路径规划与端侧智能识别的协同实现。原理上依赖SLAM定位构建环境地图,结合栅格化建模与混合路径算法(如蚁群+BFS)达成全覆盖遍历;技术价值体现在资源受限平台下的确定性响应与时空对齐能力,支撑高鲁棒性野外作业。典型应用场景包括生态监测、禁飞区巡检及小尺度智能安防。本文围绕ROS2 Humble中间件架构、Livox激光雷达与MaixCAM视觉协同、YOLO11n INT8模型端侧部署等关键技术展开,突出嵌入式AI与实时控

weixin_30598047的博客 648

applicationcontext.xml的作用

它用于声明和配置 Bean、依赖注入、AOP 配置、事务管理等,以帮助管理和组织应用程序中的各种组件。在 Spring 中,应用程序上下文是一个重要的容器,用于管理和组织应用程序中的各种组件,包括 Bean 的定义、依赖注入、AOP 配置、事务管理等。元素用于配置应用程序中的切面(Aspect),包括切入点(Pointcut)、通知(Advice)和切面的关联等。文件还可以包含其他的配置元素,例如资源引用、环境配置、国际化配置等,以满足应用程序的需求。元素,可以声明和配置应用程序中的各种 Bean 对象。

weixin_44943389的博客 1593

浪涌电流测试仪的工作原理

浪涌电流脉冲形成的开始由同步电路 13 确定,该同步电路 13 发送命令以打开和第二开关 10 和 11,向发生器 14 发送控制命令以生成被测半导体器件 5 的控制信号和参考信号整形器 9 的触发脉冲。电流源的功率输出并联连接,以对流经被测半导体样品的电流求和。此外,使用数字控制扩展了测试仪的功能,能够产生各种形状的电流脉冲,例如梯形电流脉冲,以估计被测晶闸管的导通状态扩展时间。由于晶体管3的栅极是连接的,并且平衡电阻4包含在晶体管3的源中,因此通过每个晶体管3的电流脉冲大致相同,并重复参考信号的形状。

Jesse0257的博客 1255

javaweb学习(三):applicationContext.xml文档解析,配置<beans><bean><property>等详解

applicationContext.xml是Spring的配置文件,当然可以不用这个名称,在加载的时候指定即可,不过为了减少必要的报错,建议初期还是使用这个名称吧,毕竟这是spring默认的名称。 一、applicationContext.xml作用: 我们学Spring的主要目的还是因为Spring能充当我们容器管理的作用,这个作用主要体现在: 控制反转: Spring通过控制反转实现了松散耦...

shenhaiyushitiaoyu的博客 5万+

群晖NAS硬盘挂了别慌!用Ubuntu 18外接USB保姆级数据抢救指南

本文提供群晖NAS硬盘故障时的数据抢救指南,详细介绍了使用Ubuntu 18外接USB硬盘盒的完整流程。从构建救援环境、硬盘识别到数据迁移策略,涵盖关键步骤和实用技巧,帮助用户零成本恢复重要数据。特别适合非RAID配置的单盘故障场景。

9o8p7i6u5y的博客 1145

【半导体工业实战】C#.NET开发SECS/GEM协议上位机(完整可运行源码+全进制转换工具类+工业级通信封装)

在半导体这个高精尖的工业领域,SECS/GEM协议是设备通信的基石,而C#.NET凭借其稳定性、高效的字节处理能力、Windows工控机的深度适配,成为SECS上位机开发的最优选择。本文从半导体行业的专属认知出发,提供了完整的进制转换工具类、工业级的SECS通信封装、实战的报文解析与业务调用示例、半导体专属的避坑指南,所有内容均为真实项目经验的沉淀,无空洞理论、无AI冗余文字,所有源码均可直接编译运行、无缝移植到半导体项目中。半导体工控开发的核心,从来不是炫技,而是。

这里只有干货:从 Modbus 通信到 MES 对接,从 YOLO 训练到工控机部署,带你搞定工业软件开发全流程。 896

Spring的applicationContext和spring-mvc.xml的区别

applicationcontext.xml一般里面是配置dataSource以及相关的IOC容器中存放的相关bean。而spring-mvc.xml一般配置一些与web相关的东西。两个东西没什么关联。   在配置&lt;context:component-scan&gt;的时候,最好分开配置。在spring-mvc中一般只扫描controller层,配置为   &lt;context:...

u012925172的博客 521

学Simulink--复杂路况场景实例:基于Simulink的智能车辆高速公路行驶仿真(超车与车道变换)

本文详细介绍了基于Simulink的智能车辆高速公路超车仿真系统设计方法。系统包含多车道交通流建模、三层超车决策逻辑(触发条件、可行性检查、执行许可)、五次多项式变道轨迹规划以及横向纵向协同控制等核心模块。通过设定三车道场景(自车初始速度100km/h,前方慢车72km/h),演示了如何实现安全高效的左变道超车全过程(5秒完成3.75m横向移动),并验证了变道平滑性(最大横向加速度1.8m/s²)和安全距离(最小TTC 5.2s)。文章还强调了传感器融合的必要性,并提供了从交通流生成到控制器设计的完整Sim

xiaoheshang_123的博客 396

【转载】Spring中的applicationContext.xml与SpringMVC的xxx-servlet.xml的区别

【转载】Spring中的applicationContext.xml与SpringMVC的xxx-servlet.xml的区别 一直搞不明白两者的区别。 如果使用了SpringMVC,事实上,bean的配置完全可以在xxx-servlet.xml中进行配置。为什么需要applicationContext.xml?一定必须? 一、 因为直接使用了SpringMVC,所以之前一直不明白

qq_37108271的博客 391

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

深入理解applicationContext.xml和dispatcherServlet-servlet.xml区别

the ContextLoaderListener looks for applicationContext.xml (or for the file specified by the context-param contextConfigLocation. Again the path is relative to the context-root. I usually place mine i...

java、c++、机器学习方向King 1082

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

Spring中xxx-servlet.xml跟applicationContext.xml的认识

Spring中xxx-servlet.xml和applicationContext.xml的认识     因为直接使用了SpringMVC,所以之前一直不明白xxx-servlet.xml和applicationContext.xml是如何区别的,其实如果直接使用SpringMVC是可以不添加applicationContext.xml文件的。 使用applicationContext.xml

Truong的专栏 5741

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

applicationContext.xml、dispatcher-servlet.xml 和 web.xml 的区别和联系

定义,所有 Java Web 项目都必须有(Servlet 3.0+ 后可以省略,改用注解)。,管理 Controller,可以访问父容器的 Bean,但父容器不能访问子容器的 Bean。:Spring MVC 的 Web 层配置(Controller/ViewResolver)。:Spring 的全局配置(Service/DAO 层)。声明:使用deepseek 整理,个人备忘,仅供参考。,不包含 Service/DAO 层。,大部分配置已经自动化,只需要关注。:Servlet 容器的入口,配置。

JiFeng12138的博客 844

applicationContext.xml与xxx-servlet.xml的区别?

一、 因为直接使用了SpringMVC,所以之前一直不明白xxx-servlet.xml和applicationContext.xml是如何区别的,其实如果直接使用SpringMVC是可以不添加applicationContext.xml文件的。 使用applicationContext.xml文件时是需要在web.xml中添加listener的: org.springframework

陆总的博客 2624

applicationContext.xml和dispatch-servlet.xml的区别及引发的问题和教训

applicationContext.xml 和 dispatch-servlet.xml的区别: Spring lets you define multiple contexts in a parent-child hierarchy. The applicationContext.xml defines the beans for the "root webapp context", i.

gladmustang的专栏 6620

dispatch-servlet.xml与applicationContext.xml

dispatcher-servlet.xml(在你的项目中也可能写作springmvc-serlvet.xml、spring-serlvet.xml等等)和applicationContext.xml中的根元素都是 ,两者也同样都可以托管java bean,那么两者的区别何在呢? spring允许你使用树形的结构定义多个上下文,而applicationContext.xml定义的是“r

2473

Spring ApplicationContext详解与使用

Spring容器是Spring框架的核心,它负责管理应用程序中的Bean。ApplicationContext接口是Spring容器的一个核心接口,它继承自BeanFactory接口,提供了更多高级功能,如事件发布和监听、国际化、消息资源绑定等。

JavaCodePro的博客 1109

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

applicationContext.xml和dispatcher-servlet.xml的区别 在SpringMVC项目中我们一般会引入applicationContext.xml和dispatcher-servlet.xml两个配置文件,这两个配置文件具体的区别是什么呢?   Spring 官方文档介绍如下: Spring lets you define multiple contex...

fei33423的专栏 544

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

1.ApplicationContext.xml是spring 全局配置文件,用来控制spring 特性的 2.dispatcher-servlet.xml是spring mvc里面的,控制器、拦截uri转发view 3.一个bean如果在两个文件中都被定义了(比如两个文件中都定义了component scan扫描相同的package), spring会在application...

diaohuyi6830的博客 83

applicationContex.xml 和 *-servlet.xml 的区别

在spring的开发中经常会遇到这两个配置文件, 那么这两个配置文件究竟有什么区别,为什么有俩,只保留一个行吗,这俩文件的区别在哪呢? 他们之间的配置的参数或者属性有继承关系吗,谁会覆盖谁? 只存在一个配置文件行吗? 带着这个问题 ,我们去问问google, 在stack overflow的网站的专业回答 http://stackoverflow.com/questions/3652

sunjiyun26的博客 538

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

Spring中xxx-servlet.xml和applicationContext.xml的认识 因为直接使用了SpringMVC,所以之前一直不明白xxx-servlet.xml和applicationContext.xml是如何区别的,其实如果直接使用SpringMVC是可以不添加applicationContext.xml文件的。 使用applicationContext.xml文件时是

RAPIER512的专栏 1639
上一篇: Spring定时任务的几种实现
下一篇: ForkJoin线程池
JFS_Study
博客等级 码龄6年 363粉丝 359原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

JFS_Study

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值