Spring AOP的实现:知识框架总结

通过对于这本图书的学习,我发现其实关于每一个部分的代码的解析不是按照AOP的具体实现流程来进行,而是通过对于某一个模块的解析来模块化地讲解知识。所以在新手比如我在学习的过程中,会有很多很多疑惑的地方。所以当我学完这一章之后,我希望通过画一张图,来解析整个AOP的实现流程。

首先我们先画一个最基本的数据结构,也就是我的博客中提到的三个类

 这三个数据结构贯穿了AOP的始终。是AOP实现加强的重要类。

之后书上是讲述了AopProxy(代理对象)的建立,书上为我们举了ProxyFactoryBean对象的配置以及具体的 方法实现。

我们同样可以根据一张图来研究。

AopProxy是在getObject()方法中实现的,在这个方法的实现中。分为两个步骤,一个是advistor链的添加,一个对应代理对象生成。

其中advistor链的添加就是在initializeAdvisorChain中实现的

之后就是AOP初始化过程的重头戏,也就是我们的Proxy代理对象的生成,这里面涉及到了拦截器链的生成,也就是根据advistor链对相应的方法进行相应的加强。

现在我们来看一下整个代理对象的生成。

 

代理对象需要实现InvocationHandler的invoke方法,在这个invoke方法中实现了拦截器链的生成。我们来看一下整个invoke方法

 这些当然只是图例,作为复习时的一个流程图解。关于AOP的源码解析我理解的就是这些。下一部分我不打算按照书上的顺序来叙述springmvc,我选择讲解事务。因为事务和我们面向切面的思想以及代理模式是息息相关的。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值