@Autowired注解注入的xxxMapper报错问题及解决

作者:懒得吃早餐 时间:2022-10-01 10:31:02 

@Autowired注解注入的xxxMapper报错

项目场景

Mybatis-Plus测试

问题描述

在Mybatis-Plus场景的测试中发现,通过@Autowired注解注入的userMapper会报错

@Autowired注解注入的xxxMapper报错问题及解决

这是因为UserMapper 并不是一个可以创建出对象的一个类,而是一个接口。

@Autowired注解注入的xxxMapper报错问题及解决


@Override
       public void run() {
           bytes = mmInStream.read(buffer);
           mHandler.obtainMessage(READ_DATA, bytes, -1, buffer).sendToTarget();
       }

解决方案

方案一:

通过添加@Repository注解。

@Autowired注解注入的xxxMapper报错问题及解决

方案二:

在不使用@Repository注解的情况下,可以通过将@Autowired注解改为@Resource注解来实现注入。

@Autowired注解注入的xxxMapper报错问题及解决

分析

因为没有实现接口所以@Autowired会报错

1、@Autowired默认按照byType方式进行bean匹配,@Resource默认按照byName方式进行bean匹配

2、@Autowired是Spring的注解,@Resource是J2EE的注解,这个看一下导入注解的时候这两个注解的包名就一清二楚了

Spring属于第三方的,J2EE是Java自己的东西,因此,建议使用@Resource注解,以减少代码和Spring之间的耦合。

@Autowired无法加载Mapper,报错404或者500

当我一直在排错的时候,寻找注解少添加或者数据库无法拿到文件的时候,粗心大意蒙蔽了我。。

当@Autowired无法加载Mapper,报错404或者500的时候,要多关注以下几点

是否包名一致,加载Mapper这个接口的时候,包名是否是一致的

@Autowired注解注入的xxxMapper报错问题及解决

是否在 private XXXMapper xxxmapper;上加入了Autowired。如果启动类无法启动显示,必须要加(request = false)

@Autowired注解注入的xxxMapper报错问题及解决

启动类一定要不要放在java包下,要跟你的com.xxxx这个包下

@Autowired注解注入的xxxMapper报错问题及解决

以上是我个人总结踩坑,希望大家面对Bug的时候还是要多加细心,多半是因为粗心大意导致,要么就是没加注解,要么就是包名不一致,再或者就是启动类放在了Java包的下面。希望能给大家一个参考,也希望大家多多支持脚本之家。

来源:https://blog.csdn.net/qq_32461005/article/details/115863590

标签:@Autowired,注解,xxxMapper
0
投稿

猜你喜欢

  • c#实现winform屏幕截图并保存的示例

    2022-08-09 09:06:33
  • Java毕业设计实战之校园一卡通系统的实现

    2022-11-26 06:32:56
  • C++实现的链表类实例

    2023-07-04 08:36:36
  • 1秒钟实现Springboot 替换/写入 word文档里面的文字、图片功能

    2022-05-08 18:35:48
  • 详解Java并发包中线程池ThreadPoolExecutor

    2022-03-23 19:57:20
  • SpringBoot在一定时间内限制接口请求次数的实现示例

    2021-10-12 04:28:52
  • Android自定义View实现环形进度条的思路与实例

    2023-07-03 05:55:47
  • C#中char和string的入门使用教程

    2022-06-14 15:07:17
  • winform实现创建最前端窗体的方法

    2023-07-12 09:50:43
  • android实现简单音乐播放器

    2021-06-28 22:07:26
  • Java网络编程TCP实现聊天功能

    2023-12-01 17:05:35
  • Android应用中图片浏览时实现自动切换功能的方法详解

    2023-04-13 15:34:00
  • Java实现带GUI的气泡诗词效果

    2022-09-12 18:04:48
  • c#动态加载卸载DLL的方法

    2023-06-08 08:18:08
  • Java将对象保存到文件中/从文件中读取对象的方法

    2022-06-18 21:26:42
  • 浅析Java设计模式编程中的单例模式和简单工厂模式

    2021-10-13 15:27:54
  • Android设置项目为系统APP方法

    2022-11-16 08:55:02
  • Android使用注解代替枚举节省系统内存开销的方法

    2021-09-28 18:46:06
  • JavaWeb入门:HttpResponse和HttpRequest详解

    2022-09-05 16:44:31
  • Go Java算法猜数字游戏示例详解

    2022-03-02 21:01:50
  • asp之家 软件编程 m.aspxhome.com