classpath就是class的path,也就是类文件(.class的路径)。
我们经常用到classpath的地方,就是在指定一些配置/资源文件的时候会使用到。比如说,我们在web.xml中指定springmvc的配置文件,如下图,我们使用:classpath:entry/dev/spring-mvc.xml;
再比如,当我们把Mapper.xml文件放在了main/java/…/mapping/文件夹下时,在mybatis的配置文件中配置其位置,我们使用:
在第1个例子里,classpath:entry/dev/spring-mvc.xml 中,classpath就是指WEB-INF/classes/这个目录的路径。需要声明的一点是,使用classpath:这种前缀,就只能代表一个文件。
在第2个例子里,classpath*:/mapper/mapping/Mapper.xml,使用classpath:这种前缀,则可以代表多个匹配的文件;/mapper/mapping/*Mapper.xml,双星号**表示在任意目录下,也就是说在WEB-INF/classes/下任意层的目录,只要符合后面的文件路径,都会被作为资源文件找到。
classpath 和 classpath* 区别:
classpath:只会到你的class路径中查找找文件;
classpath*:不仅包含class路径,还包括jar文件中(class路径)进行查找。