一、ioc,控制反轉
這個指的就是我們獲取物件的方式進行反轉了,改變了。在使用spring之前是需要手動new出來的,是我們主動獲取的。使用spring之後,是將這個獲取的過程交給spring來管理,我們只需要告訴spring你需要什麼就行了,它就會把東西給你。比如:在沒有電商的時候,我們去上街買東西,需要考慮到這東西有沒有,價錢多少,怎麼搬回來,去有多遠……等等無數個和主要的業務邏輯(買東西)無關的問題。這樣就會擾亂主業務邏輯。當我們有了電商平台後,買東西時只需要兩步。註冊賬號(裝載bean),告訴電商你要的東西名字(通過名字獲取bean),然後就可以在門口收到東西了。這就是ioc。
二、aop,面向切面
在談這個之前需要了解幾個詞:切面,切入點,織入,目標物件,通知。
我先解釋下名字的意思,再講故事。
切面:就是你要準備增強的那些方法。
切入點:就是具體織入的方法,定義了地點
織入:動詞,就是將切面織入的過層
目標物件:被增強的類
通知:就是什麼時候增強,定義了時間
好了,了解清楚上面的幾個詞的意思後,再聽故事就容易多了。
aop的功能就是用來增強,在執行主業務的通知也順帶執行其他業務。如:老李上街辦點事兒,走啊走,走到了老王家門前(切入點),老王看見老李問:去哪啊!
老李:上街辦點事兒(目標類)
老王:那幫我順便把這封信投到郵筒裡吧。(切面),等到10點的時候郵局開門了去櫃檯投。(通知)
老李:好嘞。然後老李接過信。(織入)
老李繼續走啊走,繼續上街辦事(增強後的目標類)。辦完事後老李回家了。
以上就是aop。aop一般用來處理許可權控制,日誌記錄,載入事務等非主要業務邏輯的事情。底層是採用cglib和jdk的動態**實現的
Spring的IOC和AOP原理
對spring的理解 spring是乙個輕型容器,其核心是bean工廠,用以構造我們所需的model。ioc 依賴注入,又叫控制反轉。利用了工廠模式 ioc中將物件交給容器管理,你只需要在spring配置檔案中配置對應的bean以及相關的屬性即可,讓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就是典型的 模式的體現。在傳統的程式設計中,當呼叫者需...