Spring IOC/AOP原理極簡概念入門

一棵大石頭發表於2020-04-05

1、原始tomcat+servlet的編碼原理

  • Spring IOC/AOP原理極簡概念入門

2、Spring IOC原理

  • Spring IOC/AOP原理極簡概念入門

  • 總結

    • 1、tomcat在啟動的時候,會啟動Spring的容器

    • 2、spring的容器根據xml的配置或者註解,例項化bean物件,再根據xml配置或者註解,對bean物件之間的引用關係進行依賴注入(一個bean依賴了另一個bean)

    • 3、底層通過反射技術,直接根據你的類構建相應地物件

    • 系統的類與類之間實現了解耦合

3、Spring AOP機制

  • 在實現資料庫業務程式碼的類中,通常會涉及一些事務性的資料庫邏輯方法,這些方法會需要進行事務管理(開啟,回滾,提交),這些重複性質的程式碼,spring就會通過aop機制(核心是動態代理技術)進行事務管理。

  • 過程

    • 做切面:

      • 某些類(比如MyserviceXXX類)中的所有方法中都進行織入程式碼,在這些方法開始執行的時候,都會區開啟一個事務,在這些所有的方法執行完畢之後,判斷一下是否丟擲異常來判斷一下,如果丟擲異常就回滾事務,如果沒有就提交事務。

  • cgclib & jdk動態代理

    • 如果一個類實現了某個介面,spring aop會使用jdk動態代理,生成一個實現同樣的介面的代理類,構造一個例項物件出來。

    • 一個類沒有實現介面,spring aop會改用cglib生成動態代理,其會生成一個該類的子類出來,動態生成位元組碼,覆蓋一些方法,在方法裡進行增強


相關文章