这个例子用的是代理??

来源:5-5 Advice应用(下)

醒悟wjn

2016-11-26 20:08

为啥调具体的业务逻辑方法,就会转而执行around(ProceedingJoinPoint pj,String st,int a)这个方法,怎么感觉用的是动态代理

写回答 关注

2回答

  • qq_这是只仓鼠_0
    2017-04-14 22:45:54
    已采纳

    是动态代理,动态代理的定义就是为其他对象提供一种代理以控制对这个对象的访问,并且它的实现的形式就是定义且返回一个OBJECT对象,然后方法里有手动跳转到实际对象的方法。优点就是在真正调用某一对象之前,能执行一些功能处理,并且在调用这一对象之后,也能够进行一些处理。

  • Steven水木
    2016-11-28 11:13:29

    不是的,around类型的advice有个核心的代码,就是pip.proceed(),这个pip就是around方法的第一个参数,pip.proceed()这句代码代表的就是切点pointcut指定的内容的目标代码,而pip.proceed()这句代码前后可以加上你需要的逻辑,看起来这些逻辑就像环绕目标代码,所以这种类型叫around。而你说的具体的业务逻辑就是指pip.proceed()这句代码执行的内容。

    Mr_DCH

    pip这个对象你们可以获取很多内容,可以获取传入的参数,执行proceed()方法之后,可以获取业务代码return回来的参数或者对象或者其他的内容,可以处理其他的事情,上面讲的就是这个事情,不是你理解的那样

    2019-02-28 21:50:57

    共 1 条回复 >

Spring入门篇

为您带来IOC和AOP的基本概念及用法,为后续高级课程学习打下基础

268802 学习 · 1016 问题

查看课程

相似问题