Spring的控制反轉(IOC)和依賴注入(DI)具體解釋java
首先介紹下(IOC)控制反轉:ide
所謂控制反轉就是應用自己不負責依賴對象的建立及維護,依賴對象的建立及維護是由外部容器負責的。這樣控制器就有應用轉移到了外部容器。控制權的轉移就是反轉
演示樣例代碼例如如下:this
public class PersonServiceBean{ private PersonDao personDao = new PersonDaoImpl(); public void save(Person person){ personDao.save(person); } }
對象的建立有外部負責。這就是一個IOC。 spa
(DI)依賴注入對象
依賴注入就是:程序執行期間。有外部容器動態的將依賴對象注入到組件中。
當咱們把依賴對象交給外部容器負責建立,那麼PersonServiceBean類可以改爲例如如下:
it
public class PersonServiceBean{ private PersonDao personDao; //經過構造器參數注入 //也可以經過setter方法進行注入 public PersonServiceBean(PersonDao personDao){ this.personDao = personDao; } public void save(Person person){ personDao.save(person); } }DI是在IOC的基礎上產生的。