利用ASM字节码框架,将代理对象生成的class文件加载,修改其字节码,采用继承方式,生成子类进行处理。 Cglib针对类实现代理,主要针对指定的类生成子类,并覆盖目标方法,达到增强的效果。 由于是使用继承,所以对于final的类或者方法,无法代理
通过反射机制生成代理接口的匿名类。主要针对接口,而非类。
参考文章:Spring的两种动态代理:Jdk和Cglib 的区别和实现