AOP的基本概念

AOP框架能處理程序執行中特定切入點(Pointcut),而不與具體某個類耦合。編程

下面是面向切面編程的一些術語:緩存

概念 描述
切面(Aspect) 業務流程運行的某個特定步驟,即關注點,關注點可能橫切多個對象,因此經常也稱爲橫切關注點。
鏈接點(Joinpoint) 程序執行過程當中明確的點,如方法的調用或異常的拋出。SpringAOP中鏈接點老是方法的調用。
加強處理(Advice) AOP框架在特定的切入點執行的加強處理。處理有around,before和after等類型。
切入點(Pointcut) 能夠插入加強處理的鏈接點。簡而言之,當某個鏈接點知足指定要求時,該鏈接點將被添加加強處理,該鏈接點也就變成了切入點。
引入 將方法或字段添加到被處理的類中。Spring容許引入新的接口到任何被處理的對象。例如你可使用一個引入,使任何對象實現isModified接口,以此來簡化緩存。
目標對象 被AOP框架進行加強處理的對象。若是AOP框架是經過運行時代理來實現的,那麼這個對象將是一個被代理的對象。
AOP代理 AOP框架建立的對象,簡單地說,代理就是對目標對象的增強。SpringAOP中的代理既能夠是JDK動態代理,也能夠是cglib代理。前者爲實現接口的目標對象代理,後者爲不實現接口的目標對象代理。
織入(Weaving) 將加強處理添加到目標對象中,並建立一個被加強的對象(AOP代理)的過程就是織入。織入有兩種實現方式:編譯時加強(AspectJ)和運行時加強(cglib)。SpringAOP在運行時完成織入。

AOP代理實際上是由AOP框架動態生成的一個對象,該對象可做爲目標對象使用。AOP代理包含了目標對象的所有方法,但AOP代理中的方法與目標對象的方法存在差別:AOP方法在特定切入點添加了加強處理,並回調了目標對象的方法。框架

相關文章
相關標籤/搜索