问一个问题

问一个问题

从AOP开始看的有一些蒙,是用XML方式必须用接口,1.其他方式不需要用接口吗,老师能讲解一下吗,

2.AOP就是代理的意思吗 3.到底什么时候必须需要用接口,还是说XML必须用接口其他方式用不用接口都可以

正在回答

登陆购买课程后可参与讨论,去登陆

3回答

同学你好,这里实际上对CustomerDaoImpl实现类进行增强,该类实现了CustomeDao接口,所以我们使用的JDK动态代码,如:

http://img1.sycdn.imooc.com//climg/5deb7d430996910a10780213.jpg

这里如果没有使用接口,那么将会使用CGLIB动态代理。

如果我的回答解决了你的疑惑,请采纳。祝:学习愉快~

好帮手慕阿满 2019-12-07 15:14:09

同学你好,关于接口的使用,这里如果使用的JDK动态代理,需要使用接口并使用实现类实现接口,如果使用CJLIB代理不需要使用接口。和使用注解或者xml配置无关。即使使用使用注解的方式,也可以使用接口的。

AOP是运行期通过代理的方式向目标类织入增加代码。

 <bean id="customeDao" class="com.imooc.aspectj.demo2.CustomerDaoImp1"></bean>

这里是使用JDK动态代理来增强的,所以目标类是实现接口的类,而不是接口。

如果我的回答解决了你的疑惑,请采纳。祝:学习愉快~

  • 提问者 慕无忌4258813 #1
    还有一个问题没太明白 就是目标类为什么是接口而不可以是实现接口的方法呢,这是一种规定吗.还是说有其他的道理
    2019-12-07 15:32:26
  • 提问者 慕无忌4258813 #2
    有点乱了 , <bean id="customeDao" class="com.imooc.aspectj.demo2.CustomerDaoImp1"></bean> 这段代码是XML配置切面这个课的,为什么是JDK动态代理呢
    2019-12-07 15:34:28
提问者 慕无忌4258813 2019-12-06 22:17:50

还有为什么<!--    配置目标类-->
   <bean id="customeDao" class="com.imooc.aspectj.demo2.CustomerDaoImp1"></bean>

目标类是接口呢为什么不是实现接口的方法呢

问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星

相似问题

登录后可查看更多问答,登录/注册

请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师