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

 

posted @   整合侠  阅读(1934)  评论(0编辑  收藏  举报
编辑推荐:
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
点击右上角即可分享
微信分享提示