AOP 思维导图
"ProxyFactory UML
"- ProxyConfig:代理相关的全局配置,常见的有proxyTargetClass,exposeProxy。
- AdvisedSupport:在Spring AOP中,Advisor(切面)就是将Advice(增强)和Pointcut(切入点)连接起来的东西。此类主要支持切面相关的操作。
- ProxyCreatorSupport:代理创建的辅助类,主要方法就是创建代理对象。
- AopProxy通过一个Factory工厂来创建,因为不同的外部配置决定了返回的是JDK代理还是CGLIB代理。这里涉及到两种设计模式,工厂模式和策略模式。从图中可以看出,AopProxyFactory->AopProxy->Prxoy之间的结构。
Advice UML
"JdkDynamicAopProxy时序图
"- ProxyConfig属性详解
- 如果对exposeProxy不熟悉,见: spring中expose-proxy的作用与原理
责任链
这个责任链部分,时序图不知道怎么画,所以贴了代码(ps:会的教教我)。更多责任链的实现方法,责任链3中实现方法案例
1 | //class ReflectiveMethodInvocation implements ProxyMethodInvocation |
1 | public class AfterReturningAdviceInterceptor implements MethodInterceptor, AfterAdvice, Serializable { |