最近在review别的team代码,发现有些东西绝大多数人都不太清楚, 这里分几篇文章澄清下。


比如,大多数web-based应用都采用了spring 框架,但是spring 的配置文件,一般是在web.xml中的中定义的:


    
        contextConfigLocation
        
            classpath:com/abc/def/app-global-config.xml,
            classpath*:com/abc/def/spring-*.xml
        
    


细心的人肯定发现,这里定义了2个位置:一个是classpath,一个是classpath* ,那么这2个有什么区别呢?


答案:

对于classpath: 它会去到当前应用的WEB-INF/classes目录下找相应的文件,如果任意层则用**

比如 classpath; com/abc/def/**/app-global-config.xml

而对于classpath*:则不仅会去WEB-INF/classes目录下找相应文件,还会去WEB-INF/lib中的任意jar包中相应目录下找这个文件