目錄

基本知識(shí)
什么是 AOP
術(shù)語(yǔ)
advice 的類(lèi)型
關(guān)于 AOP Proxy
徹底理解 aspect, join point, point cut, advice
@AspectJ 支持
使能 @AspectJ 支持
定義 aspect(切面)
聲明 pointcut
聲明 advice

基本知識(shí)

其實(shí), 接觸了這么久的 AOP, 我感覺(jué), AOP 給人難以理解的一個(gè)關(guān)鍵點(diǎn)是它的概念比較多, 而且坑爹的是, 這些概念經(jīng)過(guò)了中文翻譯后, 變得面目全非, 相同的一個(gè)術(shù)語(yǔ), 在不同的翻譯下, 含義總有著各種莫名其妙的差別. 鑒于此, 我在本章的開(kāi)頭, 著重為為大家介紹一個(gè) Spring AOP 的各項(xiàng)術(shù)語(yǔ)的基本含義. 為了術(shù)語(yǔ)傳達(dá)的準(zhǔn)確性, 我在接下來(lái)的敘述中, 能使用英文術(shù)語(yǔ)的地方, 盡量使用英文.

什么是 AOP

AOP(Aspect-Oriented Programming), 即 面向切面編程, 它與 OOP( Object-Oriented Programming, 面向?qū)ο缶幊? 相輔相成, 提供了與 OOP 不同的抽象軟件結(jié)構(gòu)的視角.
在 OOP 中, 我們以類(lèi)(class)作為我們的基本單元, 而 AOP 中的基本單元是 Aspect(切面)

術(shù)語(yǔ)

Aspect(切面)

aspect 由 pointcount 和 advice 組成, 它既包含了橫切邏輯的定義, 也包括了連接點(diǎn)的定義. Spring AOP就是負(fù)責(zé)實(shí)施切面的框架, 它將切面所定義的橫切邏輯織入到切面所指定的連接點(diǎn)中.
AOP的工作重心在于如何將增強(qiáng)織入目標(biāo)對(duì)象的連接點(diǎn)上, 這里包含兩個(gè)工作:

    延伸閱讀

    學(xué)習(xí)是年輕人改變自己的最好方式-Java培訓(xùn),做最負(fù)責(zé)任的教育,學(xué)習(xí)改變命運(yùn),軟件學(xué)習(xí),再就業(yè),大學(xué)生如何就業(yè),幫大學(xué)生找到好工作,lphotoshop培訓(xùn),電腦培訓(xùn),電腦維修培訓(xùn),移動(dòng)軟件開(kāi)發(fā)培訓(xùn),網(wǎng)站設(shè)計(jì)培訓(xùn),網(wǎng)站建設(shè)培訓(xùn)學(xué)習(xí)是年輕人改變自己的最好方式