在Spring核心思想之 AOP:基础概念及注解式AOP初体验中对AOP的基本概念及使用有了初步的了解。本文仿Spring自定义后置处理器、注解等,在Spring的核心思想之IOC:仿Spring自定义一个实现IOC的容器的基础上实现自定义的AOP功能。

  aop相关目录:

                  

  在IOC容器的自定义实现中,populateBean()方法后面执行了后置处理器,如下:

            

            

                 

    该方法前部分是对注解的反射,重点是后面部分获得代理对象。

    实际操作的是createProxy(lfAdvisedSupport).getProxy()方法。该方法的参数为lfAdvisedSupport ,实际这个就是增强通知的代理对象。观察其属性为目标对象实例和class。

              

    在这个UML图中明确展现了,对切点的解析操作以及增强通知相关的方法。

    接下来就是根据是否有接口分别使用Jdk代理和Cglib代理。

              

    当然,Spring中AOP比这个复杂的多,本文只是大致描述其基本思想。在Spring的核心思想之DI:详解Spring DI循环依赖实现机制末尾提到三级缓存与AOP相关,这里的AOP在populateBean()方法之后,Spring框架中实际亦如此。那么在循环DI中AOP提前触发呢?

 

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。