为什么spring注入接口正确而注入接口的实现类错误?

15 篇文章 0 订阅

这是我在做spring和mybatis整合的时候出现的问题。

这个问题的根本在于动态代理类生成代理对象。动态代理有两种的实现方式jdk和cglib的方式,这两种方式也是AOP的,实现原理。




原因所在:出现如果直接注入实现类会出现没有对应的bean,因为我们通过实现类来继承的接口,然而,必须使用jdk提供的动态代理放法,而不使用接口直接对实现类进行注入,则为cglib的注入,而不能既继承接口又使用实现类来注入的方式,这样两种代理类都是没有办法使用的。



解决方案:1.直接通过jdk去生成动态代理类,(原理要求必须实现接口)

   2.通过cglib去实现接口,直接使用代理类,而不能实现接口。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值