静态代理与动态代理

Posted robinsonzhang

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了静态代理与动态代理相关的知识,希望对你有一定的参考价值。

1、静态代理

  (1)实现方式

    代理类和被代理类实现同一接口,代理类方法调用被代理类对应方法。

    ClassA.methodA()--->ClassB.methodA()

  (2)应用场景

    被代理的类少,或切面代码与被代理的类与很强的相关性。

2、动态代理

  (1)实现方式

    动态代理由三部分组成:动态生成的代理类,切面类和目标类,代理类和目标类实现同一接口,代理类调用切面类,切面类调用目标类。

    ProxyClassA.methodA()--->AspectClassA.invoke()--->TargetClassA.methodA()

  (2)应用场景

    需要被代理的类多,且切面代码具有普适性。

    

 

以上是关于静态代理与动态代理的主要内容,如果未能解决你的问题,请参考以下文章