CodeWalk

CGLIB动态代理与JDK动态代理的对比

作者:苦行僧 · 2026-05-30 12:55

分析CGLIB原理并对比两种动态代理方式。

回答

苦行僧

CGLIB通过ASM生成子类,重写非final方法。

JDK需接口,CGLIB不需要。CGLIB不能代理final方法。Spring Boot默认CGLIB。

选择策略:有接口→JDK(默认);无接口或proxyTargetClass=true→CGLIB。