黄色网址大全免费-黄色网址你懂得-黄色网址你懂的-黄色网址有那些-免费超爽视频-免费大片黄国产在线观看

Spring框架教程
Spring IOC控制反轉(zhuǎn)
Spring AOP面向切面編程
Spring集成MyBatis
Spring事務(wù)
Spring與Web

Spring AOP簡(jiǎn)介

AOP(Aspect Orient Programming),面向切面編程,是面向?qū)ο缶幊?OOP 的一種補(bǔ)充。面向?qū)ο缶幊淌菑撵o態(tài)角度考慮程序的結(jié)構(gòu),而面向切面編程是從動(dòng)態(tài)角度考慮程序運(yùn)行過程。

AOP 底層,就是采用動(dòng)態(tài)代理模式實(shí)現(xiàn)的。采用了兩種代理:JDK 的動(dòng)態(tài)代理,與 CGLIB 的動(dòng)態(tài)代理。

AOP 為 Aspect Oriented Programming 的縮寫,意為:面向切面編程,通過預(yù)編譯方式和運(yùn)行期動(dòng)態(tài)代理實(shí)現(xiàn)程序功能的統(tǒng)一維護(hù)的一種技術(shù)。AOP 是 OOP 的延續(xù),是軟件開發(fā)中的一個(gè)熱點(diǎn),也是 Spring 框架中的一個(gè)重要內(nèi)容。利用 AOP 可以對(duì)業(yè)務(wù)邏輯的各個(gè)部分進(jìn)行隔離,從而使得業(yè)務(wù)邏輯各部分之間的耦合度降低,提高程序的可重用性,同時(shí)提高了開發(fā)的效率。

面向切面編程,就是將交叉業(yè)務(wù)邏輯封裝成切面,利用 AOP 容器的功能將切面織入到主業(yè)務(wù)邏輯中。所謂交叉業(yè)務(wù)邏輯是指,通用的、與主業(yè)務(wù)邏輯無關(guān)的代碼,如安全檢查、事務(wù)、日志、緩存等。

若不使用 AOP,則會(huì)出現(xiàn)代碼糾纏,即交叉業(yè)務(wù)邏輯與主業(yè)務(wù)邏輯混合在一起。這樣,會(huì)使主業(yè)務(wù)邏輯變的混雜不清。

例如,轉(zhuǎn)賬,在真正轉(zhuǎn)賬業(yè)務(wù)邏輯前后,需要權(quán)限控制、日志記錄、加載事務(wù)、結(jié)束事務(wù)等交叉業(yè)務(wù)邏輯,而這些業(yè)務(wù)邏輯與主業(yè)務(wù)邏輯間并無直接關(guān)系。但,它們的代碼量所占比重能達(dá)到總代碼量的一半甚至還多。它們的存在,不僅產(chǎn)生了大量的“冗余”代碼,還大大干擾了主業(yè)務(wù)邏輯---轉(zhuǎn)賬。

AOP編程術(shù)語

● 切面(Aspect)

切面泛指交叉業(yè)務(wù)邏輯。上例中的事務(wù)處理、日志處理就可以理解為切面。常用的切面是通知(Advice)。實(shí)際就是對(duì)主業(yè)務(wù)邏輯的一種增強(qiáng)。

● 織入(Weaving)

織入是指將切面代碼插入到目標(biāo)對(duì)象的過程。上例中MyInvocationHandler類中的invoke() 方法完成的工作,就可以稱為織入。

● 連接點(diǎn)(JoinPoint)

連接點(diǎn)指可以被切面織入的具體方法。通常業(yè)務(wù)接口中的方法均為連接點(diǎn)。

● 切入點(diǎn)(Pointcut)

切入點(diǎn)指聲明的一個(gè)或多個(gè)連接點(diǎn)的集合。通過切入點(diǎn)指定一組方法。

被標(biāo)記為 final 的方法是不能作為連接點(diǎn)與切入點(diǎn)的。因?yàn)樽罱K的是不能被修改的,不能被增強(qiáng)的。

● 目標(biāo)對(duì)象(Target)

目標(biāo)對(duì)象指將要被增強(qiáng)的對(duì)象。即包含主業(yè)務(wù)邏輯的類的對(duì)象。上例中的StudentServiceImpl的對(duì)象若被增強(qiáng),則該類稱為目標(biāo)類,該類對(duì)象稱為目標(biāo)對(duì)象。當(dāng)然,不被增強(qiáng),也就無所謂目標(biāo)不目標(biāo)了。

● 通知(Advice)

通知是切面的一種實(shí)現(xiàn),可以完成簡(jiǎn)單織入功能(織入功能就是在這里完成的)。上例中的 MyInvocationHandler 就可以理解為是一種通知。換個(gè)角度來說,通知定義了增強(qiáng)代碼切入到目標(biāo)代碼的時(shí)間點(diǎn),是目標(biāo)方法執(zhí)行之前執(zhí)行,還是之后執(zhí)行等。通知類型不同,切入時(shí)間不同。 切入點(diǎn)定義切入的位置,通知定義切入的時(shí)間。

全部教程
主站蜘蛛池模板: 黄大色黄美女精品大毛片 | 国产精品久久久久天天影视 | 故意坐公交忘穿内裤被挺进小说 | 成年人在线| 热热色网站 | 国内精品久久久久久久影视麻豆 | 特级淫片日本高清视频 | 中文字幕日本一本二本三区 | 久久亚洲欧美成人精品 | 国产人成在线视频 | 亚洲欧美日韩久久精品第一区 | 日韩视频www | 国产欧美网站 | 一级一片免费播放 | 日皮视频免费看 | 外国成人xxx在线视频 | 精品国产成人 | 欧美不在线| 久久国产精品佐山爱 | 18pao国产成视频永久免费 | 日本爽爽爽爽爽爽在线观看免 | 色婷婷婷丁香亚洲综合不卡 | 欧美日韩一区二区三区在线视频 | 性xxxxbbbb免费播放视频 | 成年网站在线在免费播放 | 又爽又大又光又色的午夜视频 | 亚洲欧美一区二区三区另类 | 性激烈的欧美三级视频中文字幕 | 久久精品国产999久久久 | 丝袜美女足交 | 毛片免费在线观看 | 亚洲人成片在线观看 | 羞羞网站在线免费观看 | 青春久久| 极品国产高颜值露脸在线 | 欧美一级日韩一级亚洲一级va | 亚洲欧美在线观看首页 | 日韩美女色高清在线看 | 欧美高清日韩 | 中文字幕乱视频 | 大学生高清一级毛片免费 |