CGLIB是一个强大的、高性能的代码生成库。
被广泛应用于AOP框架(Spring、dynaop)中,用以提供方法拦截操作.
CGLIB代理主要通过对字节码的操作,为对象引入间接级别,以控制对象的访问。
CGLIB相比于JDK动态代理更加强大,JDK动态代理只能对接口进行代理。
如果要代理的类为一个普通类、没有实现接口,只能使用CGLIB.
CGLIB底层使用了ASM(一个短小精悍的字节码操作框架)来操作字节码生成新的类.
demoMyCommons/T01cglib
生成的cglib包下
PersonService$$EnhancerByCGLIB$$2d683b90$$FastClassByCGLIB$$8b3052f3.class
// cglib生成的代理类,继承了PersonService类
PersonService$$EnhancerByCGLIB$$2d683b90.class
PersonService$$FastClassByCGLIB$$edd83f4d.class



