最近在review別的team代碼,發現有些東西絕大多數人都不太清楚, 這裏分幾篇文章澄清下。
比如,大多數web-based應用都採用了spring 框架,但是spring 的配置文件,一般是在web.xml中的<context-param>中定義的:
1 2 3 4 5 6 7 8 | <!-- Locations of Spring Configuration Files -->
< context-param >
< param-name >contextConfigLocation</ param-name >
< param-value >
classpath:com/abc/def/app-global-config.xml,
classpath*:com/abc/def/spring-*.xml
</ param-value >
</ context-param > |
細心的人肯定發現,這裏定義了2個位置:一個是classpath,一個是classpath* ,那麼這2個有什麼區別呢?
答案:
對於classpath: 它會去到當前應用的WEB-INF/classes目錄下找相應的文件,如果任意層則用**
比如 classpath; com/abc/def/**/app-global-config.xml
而對於classpath*:則不僅會去WEB-INF/classes目錄下找相應文件,還會去WEB-INF/lib中的任意jar包中相應目錄下找這個文件
本文出自 “平行線的凝聚” 博客,請務必保留此出處http://supercharles888.blog.51cto.com/609344/1338841