Spring的@ImportResoruces
在SpringBootTest里的一个问题解决记录
当使用这个注解并配置为如下形式的时候: @ImportResource(classpath:spring*.xml)
,在单元测试的时候就读取不到classpath的xml配置文件。
这个问题是因为spring resource寻找机制决定的。
首先将配置的path路径和最后的文件匹配名分开,然后去寻找path,之后在path下寻找resources。
对于classpath:spring*.xml
这种格式来说, dir就是""
这样获取出来的path是test-class的根路径,所以找不到。
解决办法就是设置一个目录,然后将配置文件扔进去就好了。
但这里涉及到了一个问题,就是这里面有几个classloader,有几个根路径根路径的顺序是什么。 这个挖个坑等以后来填吧。