Spring 为Hibernate做的packagesToScan 倒底是怎么被解析的?

首先,Spring用AntPathMatcher 来解析路径,这个好办,毕竟Ant风格的路径大家都熟

但在调用这个Matcher之前,Spring 会先将你在XML中写的路径转变成Ant风格的路径。那,是怎么转换的呢?

经过试验,我的结论如下

 

  

   <property name="packagesToScan" value="
com.xxx.model" />, 会转换成"classpath*:com/xxx/
model**/*.class",这个路径可以找出com/xxx/model根目录下的类文件

      <property name="packagesToScan" value="com.xxx.model
.*" />, 会转换成"classpath*:com/xxx/
model/***/*.class",这个路径可以找出com/xxx/model根目录下一级子目录中的类文件,如com/xxx/model/son/Hi.class

      <property name="packagesToScan" value="com.xxx.model
." />(注意最后的点) , 会转换成"classpath*:com/xxx/model
/**/*.class",这个路径可以找出com/xxx/model根目录下及其子孙目录下所有的类文件. 一般来讲,这些就是我们要的文件。

Leave a Comment

Your email address will not be published.

This site uses Akismet to reduce spam. Learn how your comment data is processed.