动态代理

Posted lmmblogs

tags:

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

一、代理模式  

  代理模式是常用的java设计模式,它的特征是代理类和委托类具有相同的接口,代理类负责给委托类预处理消息、过滤消息、传递消息和事后处理消息等。简单的说,就是访问实际对象的时候,通过代理对象来访问的,代理模式就是在访问实际对象时引入一定程度的间接性,因为这种间接性,可以附加多种用途。

二、静态代理和动态代理区别

  静态代理在编译期就已经将接口、代理类和被代理类确定下来了。并且一个代理类只能代理一个业务接口的实现类,如果有多个业务接口,需要多个代理类,若代理类对业务方法的预处理和调用后处理是一样的,则多个代理类就会有很多重复代码。

  动态代理能代理所有实现类的方法调用:根据传过来的业务实现类和方法名进行具体调用。并且动态代理可以对代理类的函数进行统一管理。

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

动态代理模式——JDK动态代理

动态代理

设计模式 结构型模式 -- 代理模式(动态代理(JDK动态代理(JDK动态代理要求必须定义接口,对接口进行代理。)动态代理原理(使用arthas-boot.jar查看代理类的结构)动态代理的作用)(代

动态代理——JDK中的动态代理

Spring 静态代理+JDK动态代理和CGLIB动态代理

(java反射-JDK动态代理)+CGLIB动态代理