《Spring技术内幕》学习笔记9——AOP通知以及编程式AOP

本文详细解析了Spring AOP在处理通知及编程式AOP时的内部机制。从获取AOP配置的通知、创建ReflectiveMethodInvocation对象、处理AOP配置的通知器、AdvisedSupport获取通知、DefaultAdvisorChainFactory获取通知,到DefaultAdvisorAdapterRegistry获取通知器的通知,再到MethodBeforeAdviceInterceptor等方法拦截器的工作原理,最后介绍了ProxyFactory在编程式AOP中的应用。通过这些步骤,展现了Spring如何实现AOP代理对象的创建及通知的调用过程。
摘要由CSDN通过智能技术生成

1.处理AOP配置的通知基本步骤:

(1).获取AOP配置的通知Advice

从上一篇博客《创建AOP代理对象并对目标对象切面拦截》对Spring中采用JDKCGLIB两种方式创建AOP动态代理的源码分析中,我们了解到,在AOP动态代理对象的回调方法中,都需要使用以下方式获取AOP配置的通知,并将获取到的通知和目标对象、代理对象等一起封装为ReflectiveMethodInvocation对象:

(2).创建ReflectiveMethodInvocation对象:

a.创建CglibMethodInvocation对象:

CglibMethodInvocation继承ReflectiveMethodInvocation类,在创建时首先调用父类的初始化方法。

b.创建ReflectiveMethodInvocation对象:

(3).处理AOP配置的通知器:

Spring通过调用ReflectiveMethodInvocation类来处理AOP配置的通知,CglibMethodInvocation继承ReflectiveMethodInvocation,因此JDKCGLIB方式都是通过调用ReflectiveMethodInvocationproceed()方法来处

  • 3
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值