1. 程式人生 > >Spring學習--IOC基礎 知道什麼叫做控制反轉和依賴注入

Spring學習--IOC基礎 知道什麼叫做控制反轉和依賴注入

IOC,中文的意思的‘控制反轉’,它是一種設計思想,真正的含義是將設計好的物件交給Spring容器控制,而不是像以往的在物件的內部直接控制。
誰控制誰?控制什麼? IOC容器控制物件;控制什麼?控制外部資源的獲取(物件和檔案等)
為什麼是反轉,哪些方面反轉了?所謂反轉是由容器來幫忙建立及注入依賴物件;因為容器幫助查詢及注入依賴物件,物件知識被動接受依賴物件,所以是反轉,依賴物件的獲取被反轉了。
傳統的呼叫結構:
這裡寫圖片描述
加入IOC容器後:
這裡寫圖片描述
DI,中文的意思是依賴注入,他是元件之間依賴關係由容器在執行期決定,也就是說,由容器動態第將某個依賴關係注入到元件中。依賴注入的目的是為了提升元件重用的頻率,併為系統搭建一個靈活、可以擴充套件的平臺,通過該機制,只需要通過簡單的配置而無需任何程式碼就可以指定目標需要的資源,完成自身的邏輯,不需要關心具體的資源來自何處,是由誰實現的。
誰依賴誰?

程式依賴IOC容器。
為什麼需要依賴?應用程式需要IOC容器來提供物件需要的外部資源;
誰注入誰? IOC容器注入應用程式某個物件,應用程式依賴物件;
注入了什麼?注入某個物件所需要的外部資源(包括物件、資源、常量資料)。

IOC和DI有什麼關係? 依賴注入明確描述了被注入物件依賴IOC容器配置依賴物件。