问题:单独使用@repository注解注dao层,而且不使用@mapperscan扫描时,启动项目会报错:
Field xxxxMapper in com.sms.shiro.service.impl.xxxxServiceImpl required a bean of type ‘com.sms.shiro.mapper.xxxxMapper’ that could not be found.
一,@mapper和@repository的区别:
1.@mapper是mybatis的注解,@repository是spring家族的注解。
2.使用@mapper注解时,spring并不认识,@autowired注入到service里的mapper会爆红。

二,回到问题中来,明明springboot里的ComponentScan扫描了启动器包下的所有含注解的组件,那为什么却找不到@repository的组件?
原因:造成这个问题的原因是因为springboot在扫描时候自动过滤掉了接口和抽象类,所以@repository修饰的mapper接口并不能称为一个bean,自然也就无法注入到service中。

三,解决方式:

第一种: 不使用@repository,在mapper层接口直接使用@mapper,但如果项目工程较大的话就会很麻烦。

第二种: 如果想使用@repository,因为springboot无法扫描到mapper接口,则在启动器上使用@mapperscan扫描所有mapper接口的包,如:@MapperScan("com.sms.shiro.*.mapper")

第三种: 其实使用@mapperscan注解扫描mapper接口后,mapper接口就不需要@repository和@mapper去注册bean了,但如果想项目结构比较明了,在使用了@mapperscan扫描后,@repository和@mapper都可使用,都不会报错了,但是使用@repository会解决在service中@autowired mapper爆红的问题。

解决springboot不扫描@repository的问题相关推荐

  1. springboot项目扫描不到controller中的解决方法

    springboot项目扫描不到controller中的解决方法 问题:启动类与controller不在同一级中,扫描不到controller中的方法 解决方法:在启动类填加注解@ComponentS ...

  2. 使用 @MockBean 和 @SpyBean 解决 SpringBoot 单元测试中 Mock 类装配的问题

    最近在做某个项目的时候一直使用 @MockBean 来解决单元测试中 Mock 类装配到被测试类的问题.这篇文章主要介绍了 @MockBean 的使用例子以及不使用 @MockBean 而使用@Spy ...

  3. java 切面 不执行,解决springboot的aop切面不起作用问题(失效的排查)

    检查下springboot的启动类是否开启扫描 @springbootapplication @componentscan(basepackages = {"com.zhangpu.spri ...

  4. 记一次定位解决SpringBoot中内嵌Tomcat的Bug问题

    你知道的越多,不知道的就越多,业余的像一棵小草! 你来,我们一起精进!你不来,我和你的竞争对手一起精进! 编辑:业余草 segmentfault.com/a/1190000038760707 推荐:h ...

  5. 解决Springboot中SLF4J和Log4j冲突问题

    解决Springboot中SLF4J和Log4j冲突问题 错误信息: SLF4J: Class path contains multiple SLF4J bindings. SLF4J: Found ...

  6. 项目总结10:通过反射解决springboot环境下从redis取缓存进行转换时出现ClassCastException异常问题...

    通过反射解决springboot环境下从redis取缓存进行转换时出现ClassCastException异常问题 关键字 springboot热部署  ClassCastException异常 反射 ...

  7. 解决springboot读取jar包中文件的问题

    解决springboot读取jar包中文件的问题 参考文章: (1)解决springboot读取jar包中文件的问题 (2)https://www.cnblogs.com/songxiaotong/p ...

  8. 解决Springboot+JPA中多表关联查询会查询多次的问题(n+1查询问题)

    解决Springboot+JPA中多表关联查询会查询多次的问题(n+1查询问题) 参考文章: (1)解决Springboot+JPA中多表关联查询会查询多次的问题(n+1查询问题) (2)https: ...

  9. springboot学习笔记:12.解决springboot打成可执行jar在linux上启动慢的问题

    springboot学习笔记:12.解决springboot打成可执行jar在linux上启动慢的问题 参考文章: (1)springboot学习笔记:12.解决springboot打成可执行jar在 ...

最新文章

  1. MD5算法之C#程序
  2. 第3课:SparkStreaming 透彻理解三板斧之三:解密SparkStreaming运行机制和架构进阶之Job和容错...
  3. VUE的本地应用-V- if
  4. 新浪api 40022错误
  5. fisher判别分析原理及实现
  6. ARM Linux 如何--注册和触发--软中断
  7. FreeSql (三十五)CodeFirst 自定义特性
  8. BZOJ2243: [SDOI2011]染色
  9. 文件类型总结 MIME
  10. python-常用模块-time、datetime模块
  11. Python如何安装模块
  12. STL容器 之 vector
  13. 费马小定理(详细证明)
  14. 计算机网络基础(理论知识全)
  15. 关于测试架构师的解读
  16. 张景明:方剂【方歌】——清热剂
  17. 中小学直播活动如何选择编码器还是直播机?
  18. SQL Server 2008 问题——已成功与服务器建立连接,但是在登录过程中发生错误。
  19. 微信开通过滤 快速微信开通过滤软件
  20. 【网络教程】Ubuntu20如何修改ip地址网关DNS

热门文章

  1. NP-Hard问题及组合最优化问题
  2. 第二章 数据类型和文件操作
  3. 数据仓库系列篇——唯品会大数据架构
  4. The evolution of cluster scheduler architectures--转
  5. spark源码解析之基本概念
  6. Java微框架:不可忽视的新趋势--转载
  7. jmap查看内存使用情况与生成heapdump--转
  8. MySQL—【加餐1】高效查询方法
  9. Lesson 8.38.4 二分类神经网络torch.nn.functional实现单层二分类网络的正向传播
  10. Visual Basic 永远29岁,Visual Basic 谢幕!