spring原始碼學習之:springAOP實現底層原理

Love Lenka發表於2017-03-08

一:springAOP底層實現是基於動態代理實現的。增強和切面,以及通知。是在動態代理生成的代理類inoke方法中呼叫實現

 1 //+++++++++++++aop動態代理+++++++++++++++++++++++
 2         
 3         
 4         /**
 5          * 通知,表示增強。在某些方法呼叫前,呼叫後,丟擲異常後,對方法的增強。(是一個具體實現類,類中的方法實現了增強)
 6          */
 7         //方法執行前通知
 8         BeforeAdvice beforeAdvice ;
 9         MethodBeforeAdvice MethdBeforeAdvice;
10         //方法執行後通知
11         AfterAdvice afterAdvice;
12         AfterReturningAdvice afterReturningAdvice;
13         //丟擲異常的通知
14         ThrowsAdvice throwsAdvice;
15         ThrowsAdviceInterceptor throwsAdviceInterceptor;
16         
17         
18         /**
19          * 切點(表示那些方法被標記,被動態代理,是一個集合)
20          */
21         Pointcut pointcut;
22         org.springframework.aop.Pointcut pointcut2;
23         JdkRegexpMethodPointcut jdkRegexpMethodPointcut;
24         
25         //jdk動態代理的實現類
26         //JdkDynamicAopProxy JdkDynamicAopProxy;
27         
28         /**
29          * 通知器(將切點和通知器結合起來的實現)
30          */
31         Advisor advisor;
32         DefaultPointcutAdvisor defaultPointcutAdvisor;
33         
34         /**
35          * aop實現的例子
36          */
37         ProxyFactoryBean proxyFactoryBean;
38         org.springframework.http.client.support.ProxyFactoryBean proxyFactoryBean2;
View Code

 

相關文章