spring4-3-AOP-面向切面编程
AOP常用的兩個用戶:日志和驗證.也就是程序追蹤和數據驗證.
直接使用代碼實現,距離如下:
這樣帶來的問題:
代碼混亂:越來越多的非業務需求(日志和驗證等)加入后, 原有的業務方法急劇膨脹.? 每個方法在處理核心邏輯的同時還必須兼顧其他多個關注點.
代碼分散: 以日志需求為例, 只是為了滿足這個單一需求, 就不得不在多個模塊(方法)里多次重復相同的日志代碼. 如果日志需求發生變化, 必須修改所有模塊.
使用動態代理解決上述問題:
CalculatorLoggingHandler:
CalculatorValidationHandleri:
AOP 簡介
AOP 術語
切面(Aspect):? 橫切關注點(跨越應用程序多個模塊的功能)被模塊化的特殊對象
通知(Advice):? 切面必須要完成的工作
目標(Target): 被通知的對象
代理(Proxy): 向目標對象應用通知之后創建的對象
連接點(Joinpoint):程序執行的某個特定位置:如類某個方法調用前、調用后、方法拋出異常后等。連接點由兩個信息確定:方法表示的程序執行點;相對點表示的方位。例如 ArithmethicCalculator#add() 方法執行前的連接點,執行點為 ArithmethicCalculator#add(); 方位為該方法執行前的位置
切點(pointcut):每個類都擁有多個連接點:例如 ArithmethicCalculator 的所有方法實際上都是連接點,即連接點是程序類中客觀存在的事務。AOP 通過切點定位到特 定的連接點。類比:連接點相當于數據庫中的記錄,切點相當于查詢條件。切點和連接點不是一對一的關系,一個切點匹配多個連接點,切點通過 org.springframework.aop.Pointcut 接口進行描述,它使用類和方法作為連接點的查詢條件。
?
轉載于:https://www.cnblogs.com/a198720/p/4607820.html
總結
以上是生活随笔為你收集整理的spring4-3-AOP-面向切面编程的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: [简单]poi word2007表格按模
- 下一篇: u盘中文档乱码怎么办 U盘中文文件乱码应