cglib采用了非常底层的字节码技术,通过目标类的字节码,为目标类创建子类,并在子类中用方法拦截技术,拦截所有父类方法的调用,并对拦截方法进行增强. 1)底层采用字节码框架ASM,来转换字节码来生成新的类. 2)更详细的说:代理类将目标类作为自己的父类并为每个不是final修饰的方法,创建两个方法: 一个是与父类方法签名相同的方法,会在该方法中通过super调用目标方法. 另一个是代理类独有的方法,称之为callback()回调方法,它会判断该方法是否绑定了拦截器(实现拦截器接口MethodIn…