AOP是面向切面編程的縮寫,它是1種編程的新思想。對我們常常提起的oop(面對對象編程)有1定的聯(lián)系。
AOP可以說是oop的某1方便的補充,oop側重于對靜態(tài)的屬性和方法組合為對象,使得邏輯更加清晰,而aop是是從動態(tài)角度斟酌,處理進程中某個步驟或階段,是從動態(tài)角度斟酌的。
主要處理事務,日志,安全,異常統(tǒng)計等功能。
AOP專門用于處理散布于各個各個模塊中的交叉關注點的問題,在J2ee利用中。通經(jīng)常使用AOP來處理1些具有橫切性質的系統(tǒng)級服務,如事務管理,安全檢查,緩存,對象池管理等,AOP已成了1種很成熟的管理技術。
AOP的代理是AOP框架動態(tài)生成的1個對象,該對象可以作為目標對象使用,該對象所包括的方法與目標的對象的方法以下圖:
代理對象的方法=被代理對象的方法+增強的方法
步驟:
1.定義普通的業(yè)務組件。
2.定義切入點。
3.定義增強處理。
切面-aspect
連接點-jion point
通知-advice
切入點 point cut
引入 introduction
目標代理 target object
AOP代理-AOP proxy
織入-weaving
1個組件A不關心其他的服務組件B,但是組件A使用組件B的時候,不是A自己去調用而是通過配置等其他方式,比如Spring中的xml配置文件等。所以A不知道B組件的具體情況,A只是需要B組件的時候配置文件去做,與A無關,這就是AOP的1個通俗的總結。