Spring(二):IOC和DI的理解
一、IOC和DI的理解
在平時的java應用開發中,我們要實現某一個功能或者說是完成某個業務邏輯時至少需要兩個或以上的物件來協作完成,在沒有使用Spring的時候,每個物件在需要使用他的合作物件時,自己均要使用像new object() 這樣的語法來將合作物件建立出來,這個合作物件是由自己主動建立出來的,建立合作物件的主動權在自己手上,自己需要哪個合作物件,就主動去建立,建立合作物件的主動權和建立時機是由自己把控的,而這樣就會使得物件間的耦合度高了,A物件需要使用合作物件B來共同完成一件事,A要使用B,那麼A就對B產生了依賴,也就是A和B之間存在一種耦合關係,並且是緊密耦合在一起,而使用了Spring之後就不一樣了,建立合作物件B的工作是由Spring來做的,Spring建立好B物件,然後儲存到一個容器裡面,當A物件需要使用B物件時,Spring就從存放物件的那個容器裡面取出A要使用的那個B物件,然後交給A物件使用,至於Spring是如何建立那個物件,以及什麼時候建立好物件的,A物件不需要關心這些細節問題(你是什麼時候生的,怎麼生出來的我可不關心,能幫我幹活就行),A得到Spring給我們的物件之後,兩個人一起協作完成要完成的工作即可。所以控制反轉IoC(Inversion
of Control)是說建立物件的控制權進行轉移,以前建立物件的主動權和建立時機是由自己把控的,而現在這種權力轉移到第三方,比如轉移交給了IoC容器,它就是一個專門用來建立物件的工廠,你要什麼物件,它就給你什麼物件,有了 IoC容器,依賴關係就變了,原先的依賴關係就沒了,它們都依賴IoC容器了,通過IoC容器來建立它們之間的關係。
DI(依賴注入)其實就是IOC的另外一種說法,DI是由Martin Fowler 在2004年初的一篇論文中首次提出的。他總結:控制的什麼被反轉了?就是:獲得依賴物件的方式反轉了。
總結來說:IOC:控制反轉:將物件的建立權,由Spring管理.
DI:依賴注入:在Spring建立物件的過程中,把物件依賴的屬性注入到類中.
二、IOC 、DI圖解
三、IOC底層程式碼模擬
相關文章
- 淺析Spring的IoC和DISpring
- 對於Spring中AOP,DI,IoC概念的理解Spring
- 由淺入深理解 IOC 和 DI
- 深入理解 IoC、DI
- Spring(IOC&DI)Spring
- 【Spring】IOC&DISpring
- 深入理解DIP、IoC、DI以及IoC容器
- spring IOC/DI筆記Spring筆記
- 深入理解spring容器中的控制反轉(IOC)和依賴注入(DI)Spring依賴注入
- IOC和DI的概念,以及Spring框架的介紹Spring框架
- 手寫 Spring 事務、IOC、DI 和 MVCSpringMVC
- 理解Spring中依賴注入(DI)與控制反轉(IoC)Spring依賴注入
- [摘]spring-IoC與DISpring
- 深入理解控制反轉(IoC)和依賴注入(DI)依賴注入
- 談談對IOC及DI的理解與思考
- 淺談ASP.NET Core中IOC與DI的理解和使用ASP.NET
- 如何理解Spring中的IOC和AOPSpring
- spring:spring再總結(ioc、aop、DI等)Spring
- DIP、IoC、DI、JSJS
- JAVA IOC 與 DIJava
- 軟體工程入門-輕鬆理解依賴注入 (DI) 和 IoC 容器軟體工程依賴注入
- Spring IOC之神理解Spring
- 深入理解IoC(控制反轉)、DI(依賴注入)依賴注入
- IOC與DI總結
- Java開發學習(二)----IOC、DI入門案例Java
- 理解Spring(一):Spring 與 IoCSpring
- spring ioc原理解析Spring
- Spring框架之IOC/DI(控制反轉/依賴注入)Spring框架依賴注入
- 談談對Spring IOC的理解Spring
- PHP 控制反轉(IoC) 和 依賴注入(DI)PHP依賴注入
- PHP 控制反轉(IOC)和依賴注入(DI)PHP依賴注入
- 控制反轉與依賴注入(IOC和DI)依賴注入
- Spring學習01--初學者關於AOP和DI的理解Spring
- 深入理解Spring IOC容器Spring
- 談談我對Spring IOC的理解Spring
- Spring系列第二講 控制反轉(IoC)與依賴注入(DI),晦澀難懂麼?Spring依賴注入
- 解構控制反轉(IoC)和依賴注入(DI)依賴注入
- Spring關於IOC思想的簡要理解Spring