一般面向對象的編程,好比縱向的.
如果要在很多不同功能的方法中,統一添加一些什么方法,這樣就需要橫向的思考方式.
AOP概念
1.切面(Aspect):[將橫切關注點的東西都放在一個類中.比如safeHandler.java]
一個關注點的模塊化,這個關注點可能會橫切多個對象。事務管理是J2EE應用中一個關于橫切關注點的很好的例子。在Spring AOP中,切
面可以使用基于模式)或者基于@Aspect注解的方式來實現。
2.連接點(Joinpoint):
在程序執行過程中某個特定的點,比如某方法調用的時候或者處理異常的時候。在Spring AOP中,一個連接點總是表示一個方法的執行。
3.通知(Advice):[對橫切關注點的實現,如安全性檢查的方法]
在切面的某個特定的連接點上執行的動作。其中包括了“around”、“before”和“after”等不同類型的通知(通知的類型將在后面部分進行討論)。許多AOP框架(包括
Spring)都是以攔截器做通知模型,并維護一個以連接點為中心的攔截器鏈。
4.切入點(Pointcut):[ 把通知放到連接點中.比如安全性檢查放入add開頭的方法(連接點)中,這個add開頭的方法就是切入點.]
匹配連接點的斷言。通知和一個切入點表達式關聯,并在滿足這個切入點的連接點上運行(例如,當執行某個特定名稱的方法時)。切入點表達式如何和連接點匹配
是 AOP的核心:Spring缺省使用AspectJ切入點語法。