一、到底什麼是控制反轉(ioc)和依賴注入(di)
1、控制反轉
2、依賴注入
3、二者關係
在程式設計中,當我們用到乙個物件時,首先需要主動建立它,但是在大型專案中,大家分工合作,也許我們要用到的物件對應的類還沒有被編寫出來,我們肯定沒法辦new出來,這個時候就有了spring框架,物件交給spring來建立(我們不關心也沒有能力關心是否已經有了對應的類和spring是否能夠建立我們需要的物件),我們直接從spring容器中獲取物件使用即可,此前物件是由我們主動建立的,我們具有控制權,但使用spring框架之後我們將建立物件的權力交給了spring,也就意味著我們對物件的控制權反轉給了spring,這就是控制反轉;
控制未反**由我們(程式設計師)來控制物件的建立;
控制反**我們將建立物件的權力交給了spring,由spring來控制物件的建立;
當我們需要用到乙個物件的時候,從spring容器中獲取,這對於spring來講,就是將程式所依賴的物件注入到程式中,這就是所謂的依賴注入;
依賴注入是控制反轉的基礎,如果沒有依賴注入,就不可能存在控制反轉;
二者只是同乙個問題不同角度是描述;
IOC控制反轉(依賴注入)
一。什麼叫控制反轉 moattack 墨攻劇本需要乙個英雄,去喊話,墨者革離 這時候劇本就控制liudehua 劉德華 去喊話。這個演員不一定確定是劉德華,我們可能找其他人來喊話,但是這個人必須有乙個功能喊話。所以我們定義了乙個角色介面 geli 演員實現這個介面。我們需要實現劇本只是依賴角色。而不...
控制反轉 IOC 和依賴注入 DI
控制反 從拆解字面上的意思,控制,是指物件建立 銷毀和管理 單例 的控制權,傳統程式設計上這個是交給呼叫方來控制。反轉,是指這些控制權優傳統上的呼叫方反轉為類似乙個容器的東西,統一調配和管理。依賴注入 依賴,其實就是耦合,這裡更多的是呼叫方和操作物件的耦合。注入是指,將某些耦合關係從乙個東西注入到另...
依賴注入(DI)和控制反轉(IOC)
依賴注入是用於實現控制反轉的最常見的方式之一。依賴注入的思想是 當乙個類對另乙個類有依賴時,不在該類內部對依賴的類進行例項化,而是有乙個配置好了的bean.xml檔案,告訴容器所依賴的類,在例項化該類時,容器自動注入乙個依賴的類的例項。傳統的方法就是在類中先例項化依賴的類,然後再呼叫該類中的方法。p...