1. 程式人生 > 其它 >10.AOP概念和底層原理

10.AOP概念和底層原理

目錄

AOP概念

1、什麼是 AOP
(1)面向切面程式設計(方面), 利用 AOP 可以對業務邏輯的各個部分進行隔離,從而使得
業務邏輯各部分之間的耦合度降低,提高程式的可重用性,同時提高了開發的效率。

(2)通俗描述:不通過修改原始碼方式,在主幹功能裡面新增新功能

應用場景:

場景一: 記錄日誌 
場景二: 監控方法執行時間 (監控效能)
場景三: 許可權控制 
場景四: 快取優化 (第一次呼叫查詢資料庫,將查詢結果放入記憶體物件, 第二次呼叫, 直接從記憶體物件返回,不需要查詢資料庫 )
場景五: 事務管理 (呼叫方法前開啟事務, 呼叫方法後提交或者回滾、關閉事務 )

AOP(底層原理)

1、 AOP 底層使用動態代理

有兩種情況動態代理:

第一種 有介面情況,使用 JDK 動態代理

第二種 沒有介面情況,使用 CGLIB 動態代理