Aop底层实现

Aop主要的编程思想就是把这些横切性的问题和业务逻辑进分离,从而起到解耦作用。

 

Aop的底层实现: 

                          1、 java 动态代理

                           2、cglib 代理

 

       spring并没有对aop代理进行默认设置。

       如果该类实现了接口的话,Aop的底层实现就是java动态代理。

       如果没有实现接口的话,Aop的底层实现就是cglib代理。


Aop源码解析图:

Aop底层实现

 

java动态代理对象为什么要实现接口?

  1.    因为java是单继承多实现。 
  2.    因为自动生成的代理对象默认就继承了Proxy类。

Aop底层实现