Spring_04 AOP介紹 Error occured processing XML org/aopalliance/aop/Advice 的解決方法

什麼是AOP ?

  • AOP:面向方面編程又稱面向切面編程,是對面向對象編程的有益補充和延伸
  • 與Struts2的攔截器機制相似

AOP的作用是什麼?

  • apo只關心兩個方面:在什麼位置? 執行什麼功能
  • 採用橫向抽取機制,將特定功能代碼抽取出來單獨實現,放在專門的類和方法中處理,在程序進行編譯運行時再將這些代碼放到需要執行的地方(個人理解)
  • 在不改變原有程序的基礎上,爲代碼段添加新的功能對其進行增強處理,設計思想來源於代理模式
  • 代理模式:爲對象提供一個代理對象,通過代理對象調用源對象,在代理對象中添加新功能而不影響到源對象
  • 可用於訪問控制,事務管理,性能檢測,異常處理、日誌、參數的合法性驗證

爲什麼使用AOP?

  • 特點1:無需編寫顯示的調用,需要的時候能夠 “自動” 調用所需的功能
  • 特點2:可以是開發人員專心於核心業務,不用過多的關注其他業務的實現
  • 特點3:提高模塊化,增強代碼的可維護性

如何實現AOP?

  • 基於XML配置文件方式
  • 基於@AspectJ註解實現

AOP術語

  • 切面(Aspect):一個關注點的模塊化,該關注點可能會橫切多個對象。如 日誌切面、事務切面、權限切面等。存放切面的類需要在配置文件中被bean標記指定
  • 連接點(JoinPoint):具體的執行點,一個連接點表示一個方法的執行
  • 切入點(Pointcut):切面與程序的交叉點,即需要處理的連接點
  • 通知/增強處理(Advice):切面的具體實現,按其位置的不同可分爲前置通知、後置通知、異常通知、環繞通知、最終通知等5種。攔截器作爲通知模型,維護一個以連接點爲中心的攔截器鏈。
  • 目標對象(Target Object):被切面操作的對象,也稱被通知對象。
  • 代理對象(Proxy Object):將通知應用到目標對象後,被動態創建的對象。代理對象的功能相當於 業務邏輯功能+切面功能
  • 織入(Weaving):生成代理對象,並將切面內容放入到流程中的過程,即將切面代碼插入到目標對象上,從而創建一個新的代理對象的過程

後續更新使用註解及xml文件方式使用通知的簡單案例

標題中的錯誤原因爲 jar包使用的不對 或 缺少jar包在這裏插入圖片描述
AOP所需的jar包

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章