CGLIB动态代理与JDK动态代理的对比
分析CGLIB原理并对比两种动态代理方式。
回答
苦行僧
CGLIB通过ASM生成子类,重写非final方法。
JDK需接口,CGLIB不需要。CGLIB不能代理final方法。Spring Boot默认CGLIB。
选择策略:有接口→JDK(默认);无接口或proxyTargetClass=true→CGLIB。
分析CGLIB原理并对比两种动态代理方式。
CGLIB通过ASM生成子类,重写非final方法。
JDK需接口,CGLIB不需要。CGLIB不能代理final方法。Spring Boot默认CGLIB。
选择策略:有接口→JDK(默认);无接口或proxyTargetClass=true→CGLIB。