@Autowired注解注入的xxxMapper报错怎么办(@autowired,开发技术)

时间:2024-05-01 08:36:48 作者 : 石家庄SEO 分类 : 开发技术
  • TAG :

    @Autowired注解注入的xxxMapper报错

    项目场景

    Mybatis-Plus测试

    问题描述

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

    @Autowired注解注入的xxxMapper报错怎么办

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

    @Autowired注解注入的xxxMapper报错怎么办

    @Overridepublicvoidrun(){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报错怎么办

     </div> <div class="zixun-tj-product adv-bottom"></div> </div> </div> <div class="prve-next-news">
    本文:@Autowired注解注入的xxxMapper报错怎么办的详细内容,希望对您有所帮助,信息来源于网络。
    上一篇:Django的signal信号机制如何使用下一篇:

    8 人围观 / 0 条评论 ↓快速评论↓

    (必须)

    (必须,保密)

    阿狸1 阿狸2 阿狸3 阿狸4 阿狸5 阿狸6 阿狸7 阿狸8 阿狸9 阿狸10 阿狸11 阿狸12 阿狸13 阿狸14 阿狸15 阿狸16 阿狸17 阿狸18