Web.xml中自动扫描Spring的配置文件及resource时classpath*:与classpath:的区别
Web.xml中自动扫描Spring的配置文件及resource时classpath*:与classpath:的区别
一、Web.xml中自动扫描Spring的配置文件(applicationContext.xml)
1,首先在web.xml中配置监听器listener,让Spring进行自动获取。具体加入的代码如下:
<!-- 配置监听器listener,让Spring进行自动获取 -->
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
2,只要启动服务这个配置就会默认的去加载我们的配置文件,自动的将里面的bean都给初始化了。
applicationContext.xml文件放在WEB-INF下,代码如下:
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>WEB-INF/applicationContext*.xml</param-value>
</context-param>
applicationContext.xml文件放在src下,代码如下:
<context-param>
<param-name>contextConfigLocation</param-name>
<!-- 加入配置文件放在了src下的,命名规则为:applicationContext.xml形式,则可以从以下方式配置-->
<param-value>classpath:applicationContext.xml</param-value>
</context-param>
applicationContext.xml文件放在src/config下,代码如下:
<context-param>
<param-name>contextConfigLocation</param-name>
<!-- 加入配置文件放在了src下的,命名规则为:applicationContext.xml形式,则可以从以下方式配置-->
<param-value>classpath:config/applicationContext.xml</param-value>
</context-param>
3,服务器启动的时候就会自动的去classpa也就是src目录下找所有的以:applicationContext.xml文件并将它们初始化。
二、web.xml中classpath:和classpath*:的区别
1,classpath:只会到你的class路径中查找找文件;
2,classpath*:不仅包含class路径,还包括jar文件中(class路径)进行查找.
三、注意事项
首先与Spring相关的配置文件必须要以"applicationContext-"开头,要符合约定优于配置的思想,这样在效率上和出错率上都要好很多。
最好把所有Spring配置文件都放在一个统一的目录下,如果项目大了还可以在该目录下分模块建目录;
在web.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>
作者:整合侠
链接:http://www.cnblogs.com/lizm166/p/8301318.html
来源:博客园
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
Web.xml中自动扫描Spring的配置文件及resource时classpath*:与classpath:的区别的更多相关文章
- web.xml中配置Spring中applicationContext.xml的方式
2011-11-08 16:29 web.xml中配置Spring中applicationContext.xml的方式 使用web.xml方式加载Spring时,获取Spring applicatio ...
- web.xml中配置spring.xml的三种方式
我们知道spring在web.xml中可以有三种方式来配置其xml路径:org.springframework.web.servlet.DispatcherServletorg.springframe ...
- web.xml中配置spring配置(application.xml)文件
application.xml 一般放到WEB-INF下,当然,你也可以将它放到任意问题,但需要web.xml指向到该文件 1.application.xml配置 <?xml version=& ...
- 0077 web.xml中配置Spring MVC时,Servlet-name上报Servlet should have a mapping的错误
这次是手工建立的web工程目录,在配置webapp/WEB-INF/web.xml的Spring MVC的DispatcherServlet时,在servlet-name上报错:Servlet sho ...
- 在web.xml中配置spring配置文件的路径
<context-param> <param-name>contextConfigLocation</param-name> <param-v ...
- 关于web.xml中配置Spring字符编码过滤器以解决中文乱码的问题
当出现中文乱码问题,Spring中可以利用CharacterEncodingFilter过滤器解决,如下代码所示: <!-- Spring字符编码过滤器:解决中文乱码问题 --> < ...
- 在web.xml中配置Spring的application.xml
<context-param> <!-- 请记住这里的名称不能够乱写,必须一模一样,区分大小写 java类去启动项目 contextClass--> <param-nam ...
- web.xml中classpath*:与classpath:的区别
classpath对应src目录,该目录下的文件会在编译后被存放到WEB-INF文件夹下的classes目录. classpath:只会到你的class路径中查找配置文件,对于多个同名的配置文件,只会 ...
- 如何在Web项目中配置Spring MVC
要使用Spring MVC需要在Web项目配置文件中web.xml中配置Spring MVC的前端控制器DispatchServlet <servlet> <servlet-name ...
随机推荐
- 20分钟成功编写bootstrap响应式页面 就这么简单
最近发现一个叫 Bootstrap 的好东西,Bootstrap 是现在最流行的响应式 CSS 框架,它以移动设备优先,能够快速适应不同设备.使用它编写响应式页面快捷.方便,而且屏蔽了浏览器差异.使用 ...
- 【黑金原创教程】【TimeQuest】【第三章】TimeQuest 扫盲文
声明:本文为黑金动力社区(http://www.heijin.org)原创教程,如需转载请注明出处,谢谢! 黑金动力社区2013年原创教程连载计划: http://www.cnblogs.com/al ...
- LeetCode 笔记系列十 Suduko
题目:Write a program to solve a Sudoku puzzle by filling the empty cells. Empty cells are indicated by ...
- [报错]编译报错:clang: error: linker command failed with exit code 1及duplicate symbol xxxx in错误解决方法之一
今天添加了一个新类(包括m,h,xib文件),还没有调用,—编译遇到如下错误,根据错误提示, duplicate symbol param1 in: /Users/xxxx/Library/Devel ...
- Spark 源码分析 -- task实际执行过程
Spark源码分析 – SparkContext 中的例子, 只分析到sc.runJob 那么最终是怎么执行的? 通过DAGScheduler切分成Stage, 封装成taskset, 提交给Task ...
- WSGI的理解 perfect
https://blog.csdn.net/hzrandd/article/details/10099871 https://blog.csdn.net/cloudxli/article/detail ...
- 为什么在Java中不使用finalize()方法
我们都知道finalize()方法是回收分配给对象的内存之前调用垃圾收集器线程的基本语句.在这篇文章中,我们将会深入这个方法. 这篇文章中的章节: 1.finalize()方法不能保证执行(这个将要用 ...
- Spring AOP和事务的相关陷阱
1.前言 2.嵌套方法拦截失效 2.1 问题场景 2.2 解决方案 2.3 原因分析 2.3.1 原理 2.3.2 源代码分析 3.Spring事务在多线程环境下失效 3.1 问题场景 3.2 解决方 ...
- python学习笔记(六)— 模块
一.os.sys模块 import os print(os.getcwd())#取当前工作目录,绝对路径 print(os.chdir("../"))#更改当前目录 print(o ...
- 【我的Android进阶之旅】Jenkins挂载slave节点,增强分布式编译的效率
由于公司的Jenkins任务越来越多,而且所有的Android Jenkins任务都在同一台服务器上进行编译,而且该服务器配置Jenkins任务最多3个任务同时运行,所以有时候大家一起编译的时候,只能 ...