学习Spring的第十六天

 AOP底层两种生成Proxy的方式

学习Spring的第十六天_第1张图片 

我来解释这两种方式

1 目标类有接口 , 调用JDK的动态代理实现

2 目标类没有接口 , 用Cglib实现 , 即生成目标类的子类 , 来实现动态代理 , 所以要求目标类不能时final修饰的 . (若有接口 , 也可用Cglib方式实现 , 需要手动配置来实现)

两种方式如下图:

学习Spring的第十六天_第2张图片

 下面是Cglib的底层代码

学习Spring的第十六天_第3张图片 

你可能感兴趣的:(学习)