一、前言
Java设计模式–代理模式【动态代理】中已经总结过使用JDK官方提供的方式来实现动态代理,本篇文章则用来总结通过cglib来实现动态代理。
二、实现动态代理
(一)预备知识
1、涉及的类:Enhancer
2、如何创建代理对象:使用Enhancer类中的create方法
3、创建代理对象的要求:被代理类不能是最终类
4、create方法的参数
1 | Class:字节码 |
(二)案例代码
导入相关maven坐标:
1 | <dependency> |
Producer.java:
1 | /** |
Client.java:
1 | /** |
三、总结
基于接口和基于子类的方式都能实现动态代理,但在使用时需要根据场景进行选择。
Java新手,若有错误,欢迎指正!