Web.xml中自动扫描Spring的配置文件及resource时classpath*:与classpath:的区别

时间:2022-12-24 18:46:06

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