Cglib代理中intercept方法的问题

来源:2-4 使用 cglib 动态产生代理

qq_荻芦落沙_0

2018-02-25 11:33

例子中intercept方法调用目标对象的方法的代码是proxy.invokeSuper(obj, args); 如果目标类中有多个方法,proxy.invokeSuper(obj, args); 调用的是哪个方法?是全部调用还是?或者说,如何调用其中某个特定的方法?

写回答 关注

1回答

  • 小丶冬瓜
    2018-03-02 16:38:00
    已采纳

    在使用中指定哪个就调用哪个,比如说例子中测试类调用了Train.move()方法,那么就是move()方法,如果Train类中还存在其他方法比如put()方法,那么则通过Train.put()调用。而proxy.invokeSuper(obj, args);中的args是指定在调用方法时可否带参数。如果proxy.invokeSuper(obj);的话。在调用方法时是不可以带参数的。

模式的秘密---代理模式

本节课程将带你领略Java编程语言中代理模式的奥妙

54906 学习 · 125 问题

查看课程

相似问题