• 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
    来源:博客园
    著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

  • 相关阅读:
    parent.relativePath' points at wrong local POM
    'cmd' 不是内部或外部命令,也不是可运行的程序 或批处理文件.
    解析xml文件的几种技术与Dom4j与sax之间的对比
    html/js/css资源
    HTML编码规范
    CSS编码规范
    PCB标识说明
    sama5d3 环境检测 gpio--yk测试
    sama5d3 环境检测 gpio--yx测试
    ad7888 linux driver
  • 原文地址:https://www.cnblogs.com/lizm166/p/8301318.html
Copyright © 2020-2023  润新知