原文作者: 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