AOP的定義和原理

原文作者: xingguang
原文鏈接:https://www.tiance.club/post/1167956631.html

一忘古、本課目標(biāo)

理解Spring AOP的原理
掌握Spring AOP的七個(gè)術(shù)語(yǔ)

二著隆、面向切面編程

一、本課目標(biāo)

理解Spring AOP的原理
掌握Spring AOP的七個(gè)術(shù)語(yǔ)

二畜吊、面向切面編程(AOP)

[圖片上傳失敗...(image-ce1333-1588649554788)]
在上面這個(gè)圖中的代碼中,業(yè)務(wù)代碼就紅框中的那些,其他的代碼都是做一些其他的事情刨啸,但是這些代碼還不得不寫(xiě),并且這些代碼散布在我們系統(tǒng)的各處识脆。我們把這樣的的代碼叫做橫切邏輯设联,也叫橫切關(guān)注點(diǎn);把我們的業(yè)務(wù)代碼叫做核心關(guān)注點(diǎn)灼捂。但是我們構(gòu)建系統(tǒng)的目的是為了解決業(yè)務(wù)問(wèn)題离例,現(xiàn)在卻要維護(hù)多個(gè)方面的事情,怎么樣才能“專(zhuān)心”做事情悉稠?這就是AOP的目標(biāo):讓我們“專(zhuān)心做事”宫蛆。

2.1AOP原理

第一、將復(fù)雜的需求分解出不同的方面的猛,將公共功能集中解決耀盗。

[圖片上傳失敗...(image-62ebfc-1588649554788)]
在上圖中,中間的是我們的代碼卦尊,AOP就是將這些分離叛拷,包括權(quán)限,日志和持久化等等岂却。

第二忿薇、采用代理機(jī)制組裝起來(lái)運(yùn)行,在不改變?cè)绦虻幕A(chǔ)上對(duì)代碼段進(jìn)行增強(qiáng)處理躏哩,增加新的功能

[圖片上傳失敗...(image-2ad39f-1588649554788)]
綜上署浩、所謂面向切面編程,是一種通過(guò)預(yù)編譯方式和運(yùn)行期動(dòng)態(tài)代理實(shí)現(xiàn)在不修改源代碼的情況下給程序動(dòng)態(tài)添加功能的技術(shù)扫尺。

2.2AOP相關(guān)術(shù)語(yǔ)

1瑰抵、增強(qiáng)處理:前置增強(qiáng)、后置增強(qiáng)器联、環(huán)繞增強(qiáng)二汛、異常拋出增強(qiáng)、最終增強(qiáng)等類(lèi)型
2拨拓、切入點(diǎn)
3肴颊、連接點(diǎn)
4、切面
5渣磷、目標(biāo)對(duì)象
6婿着、AOP代理
7、織入

原文作者: xingguang
原文鏈接:https://www.tiance.club/post/1167956631.html

1、增強(qiáng)處理

[圖片上傳失敗...(image-9fecc2-1588649554788)]

2竟宋、切入點(diǎn)

通過(guò)一個(gè)表達(dá)式告訴SpringAOP去哪個(gè)地方進(jìn)行增強(qiáng)提完。也可以把這個(gè)表達(dá)式理解為一個(gè)查詢(xún)條件,系統(tǒng)會(huì)根據(jù)這個(gè)查詢(xún)條件查詢(xún)到我們要進(jìn)行增強(qiáng)的代碼位置丘侠。

3徒欣、連接點(diǎn)

就是SpringAOP通過(guò)告訴它的切入點(diǎn)的位置找的的具體的要增強(qiáng)的代碼的位置,這個(gè)代碼位置就是連接點(diǎn)蜗字。

4打肝、切面

切面由一組(增強(qiáng)處理和切入點(diǎn))共同構(gòu)成。

5挪捕、目標(biāo)對(duì)象

目標(biāo)對(duì)象就是被增強(qiáng)的目標(biāo)類(lèi)粗梭。我們也稱(chēng)之為委托類(lèi)。

6级零、AOP代理

[圖片上傳失敗...(image-2f43ac-1588649554788)]

代理類(lèi)就是AOP代理断医,里面包含了目標(biāo)對(duì)象以及一些增強(qiáng)處理。系統(tǒng)會(huì)用AOP代理類(lèi)代替委托類(lèi)去執(zhí)行功能奏纪。

7鉴嗤、織入

織入就是將我們的增強(qiáng)處理增強(qiáng)到指定位置的過(guò)程。(AOP)
[圖片上傳失敗...(image-9a3a88-1588649554788)]
在上面這個(gè)圖中的代碼中亥贸,業(yè)務(wù)代碼就紅框中的那些躬窜,其他的代碼都是做一些其他的事情,但是這些代碼還不得不寫(xiě)炕置,并且這些代碼散布在我們系統(tǒng)的各處荣挨。我們把這樣的的代碼叫做橫切邏輯,也叫橫切關(guān)注點(diǎn)朴摊;把我們的業(yè)務(wù)代碼叫做核心關(guān)注點(diǎn)默垄。但是我們構(gòu)建系統(tǒng)的目的是為了解決業(yè)務(wù)問(wèn)題,現(xiàn)在卻要維護(hù)多個(gè)方面的事情甚纲,怎么樣才能“專(zhuān)心”做事情口锭?這就是AOP的目標(biāo):讓我們“專(zhuān)心做事”。

2.1AOP原理

第一介杆、將復(fù)雜的需求分解出不同的方面鹃操,將公共功能集中解決。

[圖片上傳失敗...(image-3a6fb3-1588649554788)]
在上圖中春哨,中間的是我們的代碼荆隘,AOP就是將這些分離,包括權(quán)限赴背,日志和持久化等等椰拒。

第二晶渠、采用代理機(jī)制組裝起來(lái)運(yùn)行,在不改變?cè)绦虻幕A(chǔ)上對(duì)代碼段進(jìn)行增強(qiáng)處理燃观,增加新的功能

[圖片上傳失敗...(image-25bf67-1588649554788)]
綜上褒脯、所謂面向切面編程,是一種通過(guò)預(yù)編譯方式和運(yùn)行期動(dòng)態(tài)代理實(shí)現(xiàn)在不修改源代碼的情況下給程序動(dòng)態(tài)添加功能的技術(shù)缆毁。

2.2AOP相關(guān)術(shù)語(yǔ)

1番川、增強(qiáng)處理:前置增強(qiáng)、后置增強(qiáng)积锅、環(huán)繞增強(qiáng)爽彤、異常拋出增強(qiáng)养盗、最終增強(qiáng)等類(lèi)型
2缚陷、切入點(diǎn)
3、連接點(diǎn)
4往核、切面
5箫爷、目標(biāo)對(duì)象
6、AOP代理
7聂儒、織入

1虎锚、增強(qiáng)處理

[圖片上傳失敗...(image-94e4d3-1588649554788)]

2、切入點(diǎn)

通過(guò)一個(gè)表達(dá)式告訴SpringAOP去哪個(gè)地方進(jìn)行增強(qiáng)衩婚。也可以把這個(gè)表達(dá)式理解為一個(gè)查詢(xún)條件窜护,系統(tǒng)會(huì)根據(jù)這個(gè)查詢(xún)條件查詢(xún)到我們要進(jìn)行增強(qiáng)的代碼位置。

3非春、連接點(diǎn)

就是SpringAOP通過(guò)告訴它的切入點(diǎn)的位置找的的具體的要增強(qiáng)的代碼的位置柱徙,這個(gè)代碼位置就是連接點(diǎn)。

4奇昙、切面

切面由一組(增強(qiáng)處理和切入點(diǎn))共同構(gòu)成护侮。

5、目標(biāo)對(duì)象

目標(biāo)對(duì)象就是被增強(qiáng)的目標(biāo)類(lèi)储耐。我們也稱(chēng)之為委托類(lèi)羊初。
原文作者: xingguang
原文鏈接:https://www.tiance.club/post/1167956631.html

6、AOP代理

[圖片上傳失敗...(image-a36ef2-1588649554788)]

代理類(lèi)就是AOP代理什湘,里面包含了目標(biāo)對(duì)象以及一些增強(qiáng)處理长赞。系統(tǒng)會(huì)用AOP代理類(lèi)代替委托類(lèi)去執(zhí)行功能。

7闽撤、織入

織入就是將我們的增強(qiáng)處理增強(qiáng)到指定位置的過(guò)程得哆。

原文鏈接:http://www.reibang.com/p/469540f13f5f

原文作者: xingguang
原文鏈接:https://www.tiance.club/post/1167956631.html

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市腹尖,隨后出現(xiàn)的幾起案子柳恐,更是在濱河造成了極大的恐慌伐脖,老刑警劉巖,帶你破解...
    沈念sama閱讀 221,406評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件乐设,死亡現(xiàn)場(chǎng)離奇詭異讼庇,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)近尚,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,395評(píng)論 3 398
  • 文/潘曉璐 我一進(jìn)店門(mén)蠕啄,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人戈锻,你說(shuō)我怎么就攤上這事歼跟。” “怎么了格遭?”我有些...
    開(kāi)封第一講書(shū)人閱讀 167,815評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵哈街,是天一觀(guān)的道長(zhǎng)。 經(jīng)常有香客問(wèn)我拒迅,道長(zhǎng)骚秦,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 59,537評(píng)論 1 296
  • 正文 為了忘掉前任璧微,我火速辦了婚禮作箍,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘前硫。我一直安慰自己胞得,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,536評(píng)論 6 397
  • 文/花漫 我一把揭開(kāi)白布屹电。 她就那樣靜靜地躺著阶剑,像睡著了一般。 火紅的嫁衣襯著肌膚如雪嗤详。 梳的紋絲不亂的頭發(fā)上个扰,一...
    開(kāi)封第一講書(shū)人閱讀 52,184評(píng)論 1 308
  • 那天,我揣著相機(jī)與錄音葱色,去河邊找鬼递宅。 笑死,一個(gè)胖子當(dāng)著我的面吹牛苍狰,可吹牛的內(nèi)容都是我干的办龄。 我是一名探鬼主播,決...
    沈念sama閱讀 40,776評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼淋昭,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼俐填!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起翔忽,我...
    開(kāi)封第一講書(shū)人閱讀 39,668評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤英融,失蹤者是張志新(化名)和其女友劉穎盏檐,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體驶悟,經(jīng)...
    沈念sama閱讀 46,212評(píng)論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡胡野,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,299評(píng)論 3 340
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了痕鳍。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片硫豆。...
    茶點(diǎn)故事閱讀 40,438評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖笼呆,靈堂內(nèi)的尸體忽然破棺而出熊响,到底是詐尸還是另有隱情,我是刑警寧澤诗赌,帶...
    沈念sama閱讀 36,128評(píng)論 5 349
  • 正文 年R本政府宣布汗茄,位于F島的核電站,受9級(jí)特大地震影響境肾,放射性物質(zhì)發(fā)生泄漏剔难。R本人自食惡果不足惜胆屿,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,807評(píng)論 3 333
  • 文/蒙蒙 一奥喻、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧非迹,春花似錦环鲤、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 32,279評(píng)論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至纯命,卻和暖如春西剥,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背亿汞。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,395評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工瞭空, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人疗我。 一個(gè)月前我還...
    沈念sama閱讀 48,827評(píng)論 3 376
  • 正文 我出身青樓咆畏,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親吴裤。 傳聞我的和親對(duì)象是個(gè)殘疾皇子旧找,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,446評(píng)論 2 359