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:的区别的更多相关文章

  1. web.xml中配置Spring中applicationContext.xml的方式

    2011-11-08 16:29 web.xml中配置Spring中applicationContext.xml的方式 使用web.xml方式加载Spring时,获取Spring applicatio ...

  2. web.xml中配置spring.xml的三种方式

    我们知道spring在web.xml中可以有三种方式来配置其xml路径:org.springframework.web.servlet.DispatcherServletorg.springframe ...

  3. web.xml中配置spring配置(application.xml)文件

    application.xml 一般放到WEB-INF下,当然,你也可以将它放到任意问题,但需要web.xml指向到该文件 1.application.xml配置 <?xml version=& ...

  4. 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 ...

  5. 在web.xml中配置spring配置文件的路径

    <context-param>     <param-name>contextConfigLocation</param-name>     <param-v ...

  6. 关于web.xml中配置Spring字符编码过滤器以解决中文乱码的问题

    当出现中文乱码问题,Spring中可以利用CharacterEncodingFilter过滤器解决,如下代码所示: <!-- Spring字符编码过滤器:解决中文乱码问题 --> < ...

  7. 在web.xml中配置Spring的application.xml

    <context-param> <!-- 请记住这里的名称不能够乱写,必须一模一样,区分大小写 java类去启动项目 contextClass--> <param-nam ...

  8. web.xml中classpath*:与classpath:的区别

    classpath对应src目录,该目录下的文件会在编译后被存放到WEB-INF文件夹下的classes目录. classpath:只会到你的class路径中查找配置文件,对于多个同名的配置文件,只会 ...

  9. 如何在Web项目中配置Spring MVC

    要使用Spring MVC需要在Web项目配置文件中web.xml中配置Spring MVC的前端控制器DispatchServlet <servlet> <servlet-name ...

随机推荐

  1. 树形结构数据存储方案的选择和java list转tree

    树形结构数据存储方案 Adjacency List:每一条记录存parent_idPath Enumerations:每一条记录存整个tree path经过的node枚举Nested Sets:每一条 ...

  2. Python--进阶处理2

    # ===================第二章:字符串和文本====================== # -----------------使用多个界定符分割字符串--------------- ...

  3. C语言实现链表中结构体嵌套

    1.首先,定义两个结构体,一个用于定义链表,一个用于定义数据 // 定义数据相关的结构体 typedef struct Student{ int stu_id; ]; }Stu; // 定义链表相关的 ...

  4. qt model view 编程总结

    看不见的root的 QModelIndex() 是 无效的 list 和table 的index 函数中的parent参数就只要 root QModelIndex 就可以,因为没有层级概念 Model ...

  5. Results from queries can be retrieved into local variables

    w将查询结果赋值给本地变量. http://dev.mysql.com/doc/refman/5.7/en/stored-program-variables.html Results from que ...

  6. python学习笔记(四)— 补充

    函数return多个值 函数如果有多个return值,那么会生成一个元组里面 def hello(a,b,c,d): return a,b,c,d res =hello('aa','cc','dd', ...

  7. centos下vsftpd不能显示文件,不能创建文件及文件夹

    centos下vsftpd登录正常,但不能显示文件,不能创建文件及文件夹 这是由于selinux的机制 通过命令 [root@localhost www]# getsebool -a|grep ftp ...

  8. C#中Datatable和List互相转换

    其实早就该写的,哈哈,不过今天刚想起来注册,热热手,就写一下,哈哈. 直接上内容吧: 建立一个控制台应用程序, List<students> Studentlist = new List& ...

  9. react 日期

    1.首先安装moment : npm install moment --save 2.在文件中引用: import moment from 'moment' 3.使用方式: 当前时间:moment() ...

  10. 【opencv】caffe 读入空图导致opencv错误

    OpenCV Error: Assertion failed (ssize.area() > ) /modules/imgproc/src/imgwarp. 根据错误提示,查看一下opencv源 ...