AOP底层两种生成Proxy的方式
我来解释这两种方式
1 目标类有接口 , 调用JDK的动态代理实现
2 目标类没有接口 , 用Cglib实现 , 即生成目标类的子类 , 来实现动态代理 , 所以要求目标类不能时final修饰的 . (若有接口 , 也可用Cglib方式实现 , 需要手动配置<aop: config proxy-target-class="true">来实现)
两种方式如下图:
下面是Cglib的底层代码
AOP底层两种生成Proxy的方式
我来解释这两种方式
1 目标类有接口 , 调用JDK的动态代理实现
2 目标类没有接口 , 用Cglib实现 , 即生成目标类的子类 , 来实现动态代理 , 所以要求目标类不能时final修饰的 . (若有接口 , 也可用Cglib方式实现 , 需要手动配置<aop: config proxy-target-class="true">来实现)
两种方式如下图:
下面是Cglib的底层代码