Spring AOP術語解釋

話說,越來越感覺有些人解釋概念真的是晦澀難懂,我剛開始學習Spring aop時,對那些切入點,連接點,引入等概念搞得頭疼。太多人就直接照搬定義,讓我們這些初學者如何理解啊。下面是我找了大量的博客,終於找到一個大神,把概念解釋的通俗易懂。
原博客地址:Spring AOP那些學術概念—通知、增強處理連接點(JoinPoint)切面(Aspect)

術語解釋:

  1. 通知(Advice) :就是你想要的功能,用方法實現的功能,也就是上說的安全、事物、日子等。你先把功能用方法給先定義好,然後再想用的地方用一下。包含Aspect的一段處理代碼。
  2. 連接點(JoinPoint) :就是spring允許你把通知(Advice)放在的地方,那可就真多了,基本每個方法的前、後(兩者都有也行),或拋出異常是時都可以是連接點,spring只支持方法連接點。其他如AspectJ還可以讓你在構造器或屬性注入時都行,不過那不是咱們關注的,只要記住,和方法有關的前前後後都是連接點。
  3. 切入點(Pointcut): 是上面說的連接點的基礎上,來定義切入點,你的一個類裏,有15個方法,那就有幾十個連接點了對吧,但是你並不想在所有方法附件都使用通知(使用叫織入,下面再說),你只是想讓其中幾個,在調用這幾個方法之前、之後或者拋出異常時乾點什麼,那麼就用切入點來定義這幾個方法,讓切點來篩選連接點,選中那幾個你想要的方法。
  4. 切面(Aspect) :是通知和切入點的結合。現在發現了吧,沒連接點什麼事,連接點就是爲了讓你好理解切點搞出來的,明白這個概念就行了。通知說明了幹什麼和什麼時候幹(什麼時候通過方法名中的befor,after,around等就能知道),二切入點說明了在哪幹(指定到底是哪個方法),這就是一個完整的切面定義。
  5. 引入(introduction) :允許我們向現有的類添加新方法屬性。這不就是把切面(也就是新方法屬性:通知定義的)用到目標類中嗎。
  6. 目標(target) :引入中所提到的目標類,也就是要被通知的對象,也就是真正的業務邏輯,他可以在毫不知情的情況下,被咋們織入切面。二自己專注於業務本身的邏輯。
  7. 代理(proxy) :怎麼實現整套AOP機制的,都是通過代理,這個一會兒給細說。
  8. 織入(weaving) 把切面應用到目標對象來創建新的代理對象的過程。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章