代理模式是常用的java设计模式,他的特征是代理类与委托类有同样的接口,代理类主要负责为委托类预处理消息、过滤消息、把消息转发给委托类,以及事后处理消息等。代理类与委托类之间通常会存在关联关系,一个代理类的对象与一个委托类的对象关联,代理类的对象本身并不真正实现服务,而是通过调用委托类的对象的相关方法,来提供特定的服务。按照代理的创建时期,我们可以把代理分成静态代理和动态代理。这里我们主要介绍下动态代理的两种实现方式:jdk动态代理和cglib动态代理。两者的区别在于,jdk动态代理是在代码层面上的处理,需要你定义特定的接口,这样代理才能找到你需要被代理的类和方法;而cglib是在字节码层面上的操作,不需要你定义特定的接口。下面是两者实现的简单实例:
代码下载地址:http://download.csdn.net/detail/tianma630/6002625
一、jdk动态代理
1、定义接口
3、代理类
5、客户端测试
2、创建代理类
4、客户端测试
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于