开发者

解决mapper无法自动装配,未找到‘userMapper‘类型的Bean报错问题

目录
  • mapper无法自动装配,未找到‘userMapper‘类型的Bean报错
  • 解决办法
    • 报错原因
  • @Mapper与@Repository的详细区别
    • @Mapper与@Repository的相同点
    • @Mapper与@Repository的不同点
  • 总结

    mapper无法自动装配,未KvLLCwp找到‘userMapper‘类型的Bean报错

    解决mapper无法自动装配,未找到‘userMapper‘类型的Bean报错问题

    解决办法

    php

    报错原因

    因为@Mapper是属于myBATis,不需要在spring配置中设置扫描地址,通过mapper.XML里面的namespace属性对应相关的mapper类,spring将动态的生成Bean后注入到ServiceImpl中。

    看了很多同学们的在设置改掉springbean自动装配的办法,但是仍报错。

    可以选择在mapper interface上面,添加@Repository注解:

    解决mapper无法自动装配,未找到‘userMapper‘类型的Bean报错问题

    效果

    解决mapper无法自动装配,未找到‘userMapper‘类型的Bean报错问题

    @Mapper与@Repos编程itory的详细区别

    @Mapper与@Repository的相同点

    • 两个注解都可在dao/mapper层使用(用来标记持久层)
    • 生成相应代理对象bean注入到spring容器中

    @Mapper与@Repository的不同点

    • @Mapper是mybatis的注解,可以单独使用,也允许存在在多个mapper文件,它不需要在Spring中配置扫描地址,通过xml里面的namespace里面的接口地址,生成Bean后注入到Service层中。
    • @Repository是spring提js供的注解,能够将该类注册成Bean。被依赖注入,但是使用该注解后,在启动类上要加@MapperScan来表名Mapper类的位置,否则扫描不到。但在idea中,使用@Repository可以消除在业务层中注入mapper对象时的错误。

    总结

    以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程客栈(www.cppphpcns.com)。

    0

    上一篇:

    下一篇:

    精彩评论

    暂无评论...
    验证码 换一张
    取 消

    最新开发

    开发排行榜