随笔 - 303  文章 - 0  评论 - 3  阅读 - 15万

Spring核心思想之 AOP:在自定义容器基础上实现AOP功能

  在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提前触发了?

 

posted on   池塘里洗澡的鸭子  阅读(10)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示