本文开始
1.spring AOP 实现动态代理的方式:JDK Proxy , CGLIB;
-
JDK Proxy实现代理**:通过 反射 实现接收代理的类 并且代理类必须实现接口;- 接口
-
CGLIB实现代理**:通过 继承 方式实现动态代理;(被final修饰的无法被继承,也就无法动态代理) - 类
2.JDK Proxy 与 CGLIB 区别:
a.来源不同:JDK Proxy来着java, CGLIB来着第三方;
b.实现不同:JDK Proxy要求动态代理实现接口才能实现代理;
CGLIB:通过实现代理类的子类完成动态代理;
c.性能不同:从JDK 7以后JDK Proxy性能略高于CGLIB; jdk 7之前CGLIB性能高;