javascript
Spring源码:AOP(1)
AOP的組成部分
幾個關(guān)鍵部分: 一個是AOP的配置(攔截規(guī)則的配置),一個是代理對象的創(chuàng)建,一個是統(tǒng)一的攔截調(diào)用過程。
AOP的配置:Spring是自己定義了一套規(guī)則同時集成了AspectJ的語法,抽象為了Pointcut類。
代理對象的創(chuàng)建:SpringAOP定義了一個工廠類AopProxy,同時支持JDK動態(tài)代理和CGlib動態(tài)代理。
統(tǒng)一的攔截調(diào)用過程:則是使用了AOP聯(lián)盟中定義的攔截過程:Advice—–>Interceptor——->MethodInterceptor。但是SpringAOP在這個基礎(chǔ)上做了一些擴展,形成了自己的一套體系。
接下來介紹Spring AOP 各組成部分:
Advice:SpringAOP聯(lián)盟中定義的類。是一個標(biāo)識性的接口。通知類型的接口。同時也是Interceptor、MethodInterceptor的父類。通知類型都有去實現(xiàn)的一個接口。
Advisor:關(guān)聯(lián)了Advice和Pointcut。在SpringAOP中是一個很關(guān)鍵的類。上起到了連接點的匹配下起到了通知類型的調(diào)用。統(tǒng)一了攔截的調(diào)用過程。
Advised:關(guān)聯(lián)了Advisor和TargetSource的類。也是AOP中一個很關(guān)鍵的類。AOP進行方法攔截的時候,就是從它里面獲取的攔截調(diào)用鏈。
aop各組成 部分及相互關(guān)系,如下類圖:
總結(jié)
以上是生活随笔為你收集整理的Spring源码:AOP(1)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: PAC模式和全局模式「建议收藏」(代理软
- 下一篇: Spring源码:AOP转文