1. 程式人生 > 其它 >什麼是控制反轉(IoC)?什麼是依賴注入(DI)?

什麼是控制反轉(IoC)?什麼是依賴注入(DI)?

控制反轉:在程式設計中,當我們用到一個物件時,首先需要主動建立它,但是在大型專案中,大家分工合作,也許我們要用到的物件對應的類還沒有被編寫出來,我們肯定沒辦法new出來,這個時候就有了Spring框架,物件交給Spring來建立(我們不關心也沒有能力關心是否已經有了對應的類和Spring是否能夠建立我們需要的物件),我們直接從Spring容器中獲取物件使用即可,此前物件是由我們主動建立的,我們具有控制權,但使用Spring框架之後我們將建立物件的權力交給Spring,也就意味著我們對物件的控制權反轉給了Spring,這就是控制反轉。

控制未反轉:由我們(開發者)來控制物件的建立。

控制反轉:我們將建立物件的控制權交給了Spring,由Spring來控制物件的建立。

依賴注入:當我們需要用到一個物件的時候,從Spring容器中獲取,這對於Spring來講,就是將程式所依賴的物件注入到程式中,這就是所謂的依賴注入。

在Java中依賴注入有三種實現方式:

  1. 構造器注入
  2. Setter方法注入
  3. 介面注入