部署到tomcat后,src目录下的配置文件会和class文件一样,自动copy到应用的 classes目录下

spring的 配置文件在启动时,加载的是web-info目录下的applicationContext.xml,
运行时使用的是web-info/classes目录下的applicationContext.xml。

配置web.xml使这2个路径一致:

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

在web.xml中通过contextConfigLocation配置spring,contextConfigLocation 参数定义了要装入的 Spring 配置文件。

如果想装入多个配置文件,可以在 <param-value> 标记中用逗号作分隔符。
<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,
    classpath*:conf/spring/applicationContext_staff*.xml,
    classpath*:conf/spring/applicationContext_security.xml
    classpath*:conf/spring/applicationContext_modules*.xml
    classpath*:conf/spring/applicationContext_cti*.xml
    classpath*:conf/spring/applicationContext_apm*.xml
  </param-value>
</context-param>

contextConfigLocation 参数定义了要装入的 Spring 配置文件。

首先与Spring相关的配置文件必须要以"applicationContext-"开头,要符合约定优于配置的思想,这样在效率上和出错率上都要好很多。
还有最好把所有Spring配置文件都放在一个统一的目录下,如果项目大了还可以在该目录下分模块建目录。这样程序看起来不会很乱。
在web.xml中的配置如下:
Xml代码
<context-param>
  <param-name>contextConfigLocation</param-name>
  <param-value>classpath*:**/applicationContext-*.xml</param-value>
</context-param>

"**/"表示的是任意目录;
"**/applicationContext-*.xml"表示任意目录下的以"applicationContext-"开头的XML文件。
你自己可以根据需要修改。最好把所有Spring配置文件都放在一个统一的目录下,如:

<!-- Spring 的配置 -->
<context-param>
  <param-name>contextConfigLocation</param-name>
  <param-value>classpath:/spring/applicationContext-*.xml</param-value>
</context-param>

web.xml中classpath:和classpath*:, 有什么区别?

classpath:只会到你的class路径中查找找文件;
classpath*:不仅包含class路径,还包括jar文件中(class路径)进行查找.

在web.xml里配置Listener

xml 代码如下: 
   <listener>   
        <listener-class>org.springframework.web.context.ContextLoaderListener<listener-class>   
   </listener>    

如果在web.xml里给该Listener指定要加载的xml,如:

xml代码如下:

<!-- spring config -->

<context-param>

  <param-name>contextConfigLocation</param-name>

  <param-value>classpath:applicationContext.xml</param-value>

</context-param>

则会去加载相应的xml,而不会去加载/WEB-INF/下的applicationContext.xml。

但是,如果没有指定的话,默认会去/WEB-INF/下加载applicationContext.xml。

转载于:https://www.cnblogs.com/Neil223/p/3369379.html

web.xml 通过contextConfigLocation配置spring 的方式相关推荐

  1. Spring中,applicationContext.xml 配置文件在web.xml中的配置详解

    Spring中,applicationContext.xml 配置文件在web.xml中的配置详解 2016年10月04日 15:22:26 阅读数:7936 转自http://www.cnblogs ...

  2. web.xml的contextConfigLocation作用及自动加载applicationContext.xml

    web.xml的contextConfigLocation作用及自动加载applicationContext.xml 转自:http://blog.csdn.net/sapphire_aling/ar ...

  3. web.xml常用元素配置

    web.xml常用元素配置 tomcat服务器: tomcat是一个WEB服务器,所有的j2ee WEB程序可以在此处运行. tomcat服务器是一个符合j2ee标准的WEB服务器.则J2ee的EJB ...

  4. 在web.xml文件中配置Servlet时,主要配置哪些信息?

    web前端的学习内容是比较多的,其中有一部分就是关于在web.xml文件中配置Servlet时的相关内容,在web.xml文件中配置Servlet时,主要配置哪些信息?来看看下面的详细介绍. 使用ID ...

  5. 丢掉xml使用JavaConfig配置Spring

    Spring JavaConfig 最近撸了一遍Spring action 4,发现里面讲的都不再使用xml文件来配置spring,全都采用Java代码来配置. 用Java代码配置的话,感觉要比xml ...

  6. Jsp在Web.xml中的配置

    以下列出web.xml经常使用的标签元素及这些标签元素的功能: 1.指定欢迎页面.比如: <welcome-file-list> <welcome-file-list> < ...

  7. 从web.xml谈谈SpringMVC集成spring的初始化流程及SpringBoot集成SpringMVC

    一.关于servlet 详解servlet,https://www.runoob.com/servlet/servlet-tutorial.html 总览一下: servlet与servlet容器 J ...

  8. web.xml 常用标签配置(转)

    2019独角兽企业重金招聘Python工程师标准>>> 1.Web.xml作用: 每一个javaWeb工程都有一个web.xml配置文件,web.xml文件是用来初始化工程配置信息的 ...

  9. javaweb学习总结十七(web应用组织结构、web.xml作用以及配置虚拟主机搭建网站)

    一:web应用组织结构 1:web应用组成结构 2:安装web组成机构手动创建一个web应用程序目录 a:在webapps下创建目录web b:在web目录下创建html.jsp.css.js.WEB ...

最新文章

  1. NYOJ--811--变态最大值
  2. 关于web项目的 ajax 处理方式
  3. windows下cd无法切换到指定目录下
  4. 实验:是否图片的重叠区域携带了决定分类的所有信息?
  5. 搬了十次家,总算搬进了自己的家
  6. 我要偷偷学习C#,然后学习GIS二次开发之试题汇总(附答案)
  7. wordpress 调用css,WordPress调用CSS最常用的方法有哪些?
  8. Python绘制渐变色三角形
  9. python进阶11并发之七多种并发方式的效率测试
  10. Shell脚本学习-阶段十六-备份和恢复系统权限
  11. VS2010插件 - NuGet
  12. 材料力学考研可以用计算机吗,2020海南大学材料力学专业超详细考研经验分享...
  13. (一)员工信息管理系统(超级详细代码)
  14. ftp搭建发布到外网踩坑记
  15. Qt 之 HTTP 请求下载(支持断点续传)
  16. 读书笔记 - javascript设计模式和开发实践
  17. 数据库锁机制的详细解释
  18. Windows驱动_WDDM之一
  19. 记可视化项目代码设计的心路历程以及理解
  20. 项目实战--用户消费数据分析

热门文章

  1. 浅谈域名发散与域名收敛
  2. 实时搜索 elasticsearch vs solr
  3. 给Oracle 11g Interval分区进行重命名
  4. NOLOGGINGFORCE LOGGING
  5. 蓝色版苹果iPhone 12开箱上手视频流出;谷歌回应司法部反垄断诉讼:存在严重漏洞;​Git 2.29 稳定版发布|极客头条
  6. API网关Kong(二):Kong与Kubernetes集成的方法
  7. 合约实战,代币合约,DAPP开发
  8. Python全栈工程师(文件操作、编码)
  9. readonly和disabled的区别!
  10. Linux下oracle数据库启动和关闭操作