AOP術語介紹
1. 正常的編程為從上到下的調用,執(zhí)行

2. 加入了安全性檢查,日志這樣的代碼. 這是一個橫切的問題,其于正常的業(yè)務毫無關系.
橫切的問題會散布在代碼的各個角落
.
3.這個橫切就是橫切性的關注點: Cross cutting concern

4. 將橫切的關注點都放在一個類中(如動態(tài)代理項目中的SecurityHandler.java).這個類就叫做切面.
對橫切關注點進行模塊化,這個模塊化的類就叫做切面類(Aspect對應的類) ,

5. 在切面類中對某個問題如日志或安全性檢查的具體實現(xiàn)方法,叫做橫切關注點的具體實現(xiàn)(稱為Advice).


6. 這個Advice可以進行分類. :在業(yè)務方法執(zhí)行之前,之后.異常時候……

7. Advice應用的目標方法范圍(那些方法之前,之后,異常….)這個過濾范圍叫做切入點Pointcut()

8 .植入
Advice應用的目標方法的過程叫做植入(Weave)
Spring只支持針對業(yè)務方法執(zhí)行前,執(zhí)行后進行植入. 即只支持方法級別的植入
植入的地方就叫做連接點.
Spring的Aop是使用代理模式.
橫切問題的處理思路:
發(fā)現(xiàn)橫切性的問題,將其模塊化(切片).然后形成切片類,在其中實現(xiàn)這些橫切性的功能.