(1)切面(Aspect):被抽取的公共模塊,可能會橫切多個對象。 在Spring AOP中,切面能夠使用通用類(基於模式的風格) 或者在普通類中以 @AspectJ 註解來實現。緩存
(2)鏈接點(Join point):指方法,在Spring AOP中,一個鏈接點 老是 表明一個方法的執行。 框架
(3)通知(Advice):在切面的某個特定的鏈接點(Join point)上執行的動做。通知有各類類型,其中包括「around」、「before」和「after」等通知。許多AOP框架,包括Spring,都是以攔截器作通知模型, 並維護一個以鏈接點爲中心的攔截器鏈。代理
(4)切入點(Pointcut):切入點是指 咱們要對哪些Join point進行攔截的定義。經過切入點表達式,指定攔截的方法,好比指定攔截add*、search*。對象
(5)引入(Introduction):(也被稱爲內部類型聲明(inter-type declaration))。聲明額外的方法或者某個類型的字段。Spring容許引入新的接口(以及一個對應的實現)到任何被代理的對象。例如,你能夠使用一個引入來使bean實現 IsModified 接口,以便簡化緩存機制。接口
(6)目標對象(Target Object): 被一個或者多個切面(aspect)所通知(advise)的對象。也有人把它叫作 被通知(adviced) 對象。 既然Spring AOP是經過運行時代理實現的,這個對象永遠是一個 被代理(proxied) 對象。事務
(7)織入(Weaving):指把加強應用到目標對象來建立新的代理對象的過程。Spring是在運行時完成織入。get
切入點(pointcut)和鏈接點(join point)匹配的概念是AOP的關鍵,這使得AOP不一樣於其它僅僅提供攔截功能的舊技術。 切入點使得定位通知(advice)可獨立於OO層次。 例如,一個提供聲明式事務管理的around通知能夠被應用到一組橫跨多個對象中的方法上(例如服務層的全部業務操做)。
io