回覆列表
  • 1 # 這咋了餓了

      AOP是Aspect Oriented Programing的簡稱,面向切面程式設計。AOP適合於那些具有橫切邏輯的應用:如效能監測,訪問控制,事務管理、快取、物件池管理以及日誌記錄。AOP將這些分散在各個業務邏輯中的程式碼透過橫向切割的方式抽取到一個獨立的模組中。AOP 實現的關鍵就在於 AOP 框架自動建立的 AOP 代理,AOP 代理則可分為靜態代理和動態代理兩大類,其中靜態代理是指使用 AOP 框架提供的命令進行編譯,從而在編譯階段就可生成 AOP 代理類,因此也稱為編譯時增強;而動態代理則在執行時藉助於 JDK 動態代理、CGLIB 等在記憶體中“臨時”生成 AOP 動態代理類,因此也被稱為執行時增強。  代理物件的方法 = 增強處理 + 被代理物件的方法  Spring AOP 則採用執行時生成 AOP 代理類,因此無需使用特定編譯器進行處理。由於 Spring AOP 需要在每次執行時生成 AOP 代理,因此效能略差一些。  AOP使用場景  AOP用來封裝橫切關注點,具體可以在下面的場景中使用  Authentication 許可權  Caching 快取  Context passing 內容傳遞  Error handling 錯誤處理  Lazy loading 懶載入  Debugging 除錯  logging, tracing, profiling and monitoring 記錄跟蹤 最佳化 校準  Performance optimization 效能最佳化  Persistence 持久化  Resource pooling 資源池  Synchronization 同步  Transactions 事務

  • 中秋節和大豐收的關聯?
  • 領導喝酒時讓我提一杯?