美文网首页
No MyBatis mapper was found in '

No MyBatis mapper was found in '

作者: 戎_ | 来源:发表于2019-12-17 11:54 被阅读0次

日志位置
mybatis-spring-1.2.2.jar==>org.mybatis.spring.mapper.ClassPathMapperScanner(158)
项目启动
myBatis开始按照下面的配置扫描包

   <bean id="mapperScannerConfigurer" class="org.mybatis.spring.mapper.MapperScannerConfigurer">
       <property name="sqlSessionFactoryBeanName" value="sqlSessionFactory" />
       <property name="basePackage" value="xx.xxx"/>
   </bean>
ClassPathMapperScanner.doScan("xx.xxx")

basePackage可以配置多个。用“,”隔开。

ClassPathBeanDefinitionScanner.doScan

开始扫描

ClassPathScanningCandidateComponentProvider.findCandidateComponents(basePackage);
String packageSearchPath = ResourcePatternResolver.CLASSPATH_ALL_URL_PREFIX +resolveBasePackage(basePackage) + '/' + this.resourcePattern;
ResourcePatternResolver.CLASSPATH_ALL_URL_PREFIX; // classpath*:
resolveBasePackage(basePackage); // xx/xxx
this.resourcePattern; // **/*.class
// 最终结果
"classpath*:xx/xxx/**/*.class"

扫描出来一堆class

Resource[] resources = this.resourcePatternResolver.getResources(packageSearchPath);

循环resources ,然后校验是否可读。

resource.isReadable()

当然了。最终结果当然是不可读的。
下面有日志打印。

if (traceEnabled) {
  logger.trace("Ignored because not readable: " + resource);
}

最后也没弄明白为什么扫描不到。
只知道不可读,然后接结束了。

相关文章

网友评论

      本文标题:No MyBatis mapper was found in '

      本文链接:https://www.haomeiwen.com/subject/drrsnctx.html