1. 程式人生 > >什麼是IOC和DI?DI是如何實現的?

什麼是IOC和DI?DI是如何實現的?

什麼是IOC和DI?DI是如何實現的?

  • IOC(Inversion of Control)叫控制反轉, DI(Dependency Injection)叫依賴注入,是對IOC更簡單的詮釋。
  • IOC 控制反轉是把傳統上由程式程式碼直接操控的物件的呼叫權交給容器,通過容器來實現物件元件的裝配和管理。所謂的"控制反轉"就是對元件物件控制權的轉移,從程式程式碼本身轉移到了外部容器,由容器來建立物件並管理物件之間的依賴關係。
  • DI 依賴注入的基本原則是應用元件不應該負責查詢資源或者其他依賴的協作物件。配置物件的工作應該由容器負責,查詢資源的邏輯應該從應用元件的程式碼中抽取出來,交給容器來完成。DI是對IOC更準確的描述,即元件之間的依賴關係由容器在執行期決定,形象的來說,即由容器動態的將某種依賴關係注入到元件之中。

簡單的說

  • IOC(控制反轉)是把物件建立交給Spring進行配置
  • DI(依賴注入)是向類裡面的引數設定值
  • DI(依賴注入)不能單獨存在,需要在IOC(控制反轉)的基礎上完成操作