08-你真的看懂了SpringAOP的運行機制嗎?

之前我們談了Spring-IOC,這是非常巧妙的思想,今天我們繼續來探討Spring的另一個重要特性


Spring-AOP

AOP(Aspect Oriented Programming):面向切面編程

什麼是面向切面編程,我的理解是,在沒有使用面向切面編程之前,我們是經常把業務的核心代碼和非核心業務代碼混搭在一起。

我們以數據庫的操作為例來說明:

1,獲取連接對象

2,執行SQL(核心業務代碼)

3.1,如果有異常,則回滾事務

3.2, 如果沒有異常,則提交事務

4,關閉連接對象

上述的幾個部署,“2”是核心業務代碼,其他都是非核心業務代碼,但是我們又必須寫

而面向切面編程就是為了解決這樣的問題,將這些非核心業務代碼進行抽離,這樣開發者只需要關注“核心業務代碼”即可。

這樣開發效率自然提高。

在項目開發中,SpringAOP是非常常用的技能之一,下面我畫一個圖來說明,他都做了什麼

08-你真的看懂了SpringAOP的運行機制嗎?

那如果我們要實現類似的效果,會用到什麼技術?

這裡就需要用到動態代理技術+反射技術


分享到:


相關文章: