一.概念
二.静态代理
1. 由代理对象代理所有真实对象的功能.
1.1 自己编写代理类
1.2 每个代理的功能需要单独编写
2. 静态代理设计模式的缺点:
2.1 当代理功能比较多时,代理类中方法需要写很多
三.动态代理
1. 为了解决静态代理频繁编写代理功能缺点.
2. 分类:
2.1 JDK 提供的
2.2 cglib 动态代理
JDK动态代理 --------实现InvocationHandler接口,重写invoke方法
代码:
代理类
测试类
cglib动态代理----导入cglib和asm的jar包,实现MethodIntercept接口,重写intercept方法
代码:
需要new一个cglib中的Enhancer对象