Spring的IOC和AOP原理

2021-09-12 02:57:11 字數 751 閱讀 4715

對spring的理解:spring是乙個輕型容器,其核心是bean工廠,用以構造我們所需的model。

ioc:依賴注入,又叫控制反轉。利用了工廠模式

ioc中將物件交給容器管理,你只需要在spring配置檔案中配置對應的bean以及相關的屬性即可,讓spring容器來生成類的例項物件以及管理物件,當spring容器啟動時會自動初始化好已經配置好的bean以及相關屬性,當你呼叫時只需要把已經初始化的bean分配給需要這些bean的類即可。(分配方法:呼叫setter方法)

aop:面向切面程式設計。

面向切面程式設計其實就是把可重用的功能提取出來,然後將這些功能在合適的時候加入到應用程式中。

實現aop的兩類技術:

動態**技術:利用擷取訊息的方式對訊息進行裝飾,取代原有物件的執行。

aop的實現原理其實就是jdk的動態**,但是jdk的動態**必須實現介面,所以spring的aop是採用cglib這個庫實現的,cglib使用了asm這個直接操縱位元組碼的框架,因此不需要實現介面來完成動態**。

動態**中有兩個重要的類和介面:invocationhandler介面和proxy類。proxy類用於動態的建立乙個**物件的類。invocationhandler介面:當我們通過**物件呼叫乙個方法的時候,這個方法的呼叫就會被**由invocationhandler這個介面的invoke方法來進行呼叫。

靜態織入技術:引入特定的語法建立方面,從而使得編譯器在編譯時可以執行該方面的**。

aop應用場景:日誌跟蹤,記錄;事物管理;持久化;同步等

Spring的ioc和aop理解

一 ioc,控制反轉 這個指的就是我們獲取物件的方式進行反轉了,改變了。在使用spring之前是需要手動new出來的,是我們主動獲取的。使用spring之後,是將這個獲取的過程交給spring來管理,我們只需要告訴spring你需要什麼就行了,它就會把東西給你。比如 在沒有電商的時候,我們去上街買東...

Spring中IOC和AOP學習

spring中最重要的就是ioc和aop ioc也稱控制反轉,其實是和依賴注入的含義是一樣的 通常是以下兩種 1.設值傳入 set注入 一般是在spring配置的xml中書寫 注意一般是設定類的property的name和ref name springaction class com.bless.s...

Spring中IOC和AOP詳解

我們是在使用spring框架的過程中,其實就是為了使用ioc容器 依賴注入,和aop 面向切面程式設計,這兩個是spring的靈魂。主要用到的設計模式有工廠模式和 模式。ioc就是典型的工廠模式,通過sessionfactory去注入例項。aop就是典型的 模式的體現。在傳統的程式設計中,當呼叫者需...