若依代码生成器自动生成报Could not autowire. No beans of ‘TeaMapper‘ type found.

问题:

        在Service层中使用@Autowired 注解注入mapper类后报Could not autowire. No beans of 'TeaMapper' type found.错误

 解决:

        在mapper层(Dao层)创建实例时加上@Repository 注解

        Service需要使用Spring创建的名字叫“xxxMapper(xxxDao)”的xxxMapperImpl (xxxDaoImpl)实例时,需要Spring把创建好的实例注入给Service。 Spring识别实例需要用@Repository注解将所标注的类注册成spring Bean才能被Spring识别注入。

附:

Service层中可以使用@Autowire和 @Resource装配注入; @Resources按名字,是JDK的 ,而@Autowire按类型,是Spring的。

@Repository 只能标注在 Mapper(DAO) 类上,因为该注解将类识别为Bean的同时它还能将所标注的类中抛出的数据访问异常封装为 Spring 的数据访问异常类型。 Spring本身提供了一个丰富的并且是与具体的数据访问技术无关的数据访问异常结构,用于封装不同的持久层框架抛出的异常,使得异常独立于底层的框架。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值