一般面向?qū)ο蟮木幊?好比縱向的.
如果要在很多不同功能的方法中,統(tǒng)一添加一些什么方法,這樣就需要橫向的思考方式.

AOP概念
1.切面(Aspect:[將橫切關(guān)注點(diǎn)的東西都放在一個(gè)類(lèi)中.比如safeHandler.java]
    一個(gè)關(guān)注點(diǎn)的模塊化,這個(gè)關(guān)注點(diǎn)可能會(huì)橫切多個(gè)對(duì)象。事務(wù)管理是J2EE應(yīng)用中一個(gè)關(guān)于橫切關(guān)注點(diǎn)的很好的例子。在Spring AOP中,切
   面可以使用基于模式)或者基于@Aspect注解的方式來(lái)實(shí)現(xiàn)。
2.連接點(diǎn)(Joinpoint)
   在程序執(zhí)行過(guò)程中某個(gè)特定的點(diǎn),比如某方法調(diào)用的時(shí)候或者處理異常的時(shí)候。在Spring AOP中,一個(gè)連接點(diǎn)總是表示一個(gè)方法的執(zhí)行。
3.通知(Advice:[對(duì)橫切關(guān)注點(diǎn)的實(shí)現(xiàn),如安全性檢查的方法]
   在切面的某個(gè)特定的連接點(diǎn)上執(zhí)行的動(dòng)作。其中包括了“around”、“before”和“after”等不同類(lèi)型的通知(通知的類(lèi)型將在后面部分進(jìn)行討論)。許多AOP框架(包括  
   Spring)都是以攔截器做通知模型,并維護(hù)一個(gè)以連接點(diǎn)為中心的攔截器鏈。

4.切入點(diǎn)(Pointcut:[ 把通知放到連接點(diǎn)中.比如安全性檢查放入add開(kāi)頭的方法(連接點(diǎn)),這個(gè)add開(kāi)頭的方法就是切入點(diǎn).]
   匹配連接點(diǎn)的斷言。通知和一個(gè)切入點(diǎn)表達(dá)式關(guān)聯(lián),并在滿足這個(gè)切入點(diǎn)的連接點(diǎn)上運(yùn)行(例如,當(dāng)執(zhí)行某個(gè)特定名稱(chēng)的方法時(shí))。切入點(diǎn)表達(dá)式如何和連接點(diǎn)匹配
  是  AOP的核心:Spring缺省使用AspectJ切入點(diǎn)語(yǔ)法。