Spring 什么是 IOC 控制反轉 ?什么是依賴注入?spring的用處 好處 為什么要用


 韓夢飛沙  韓亞飛  313134555@qq.com  yue31313  han_meng_fei_sha

Spring是一個開源的控制反轉(Inversion of Control ,IoC)和面向切面(AOP)的容器框架.它的主要目得是簡化企業開發.

 

什么是 IOC 控制反轉 ?
public class PersonServiceBean {
private PersonDao personDao = new PersonDaoBean();

public void save(Person person){
personDao.save(person);
}
}

PersonDaoBean 是在應用內部創建及維護的。所謂控制反轉就是應用本身不負責依賴對象的創建及維護,依賴對象的創建及維護是由外部容器負責的。這樣控制權就由應用轉移到了外部容器,控制權的轉移就是所謂反轉。


什么是依賴注入?

當我們把依賴對象交給外部容器負責創建,那么PersonServiceBean 類可以改成如下:
public class PersonServiceBean {
private PersonDao personDao ;
//通過構造器參數,讓容器把創建好的依賴對象注入進PersonServiceBean,當然也可以使用setter方法進行注入。
public PersonServiceBean(PersonDao personDao){
this.personDao=personDao;
}
public void save(Person person){
personDao.save(person);
}
}

所謂依賴注入就是指:在運行期,由外部容器動態地將依賴對象注入到組件中。


在項目中引入spring立即可以帶來下面的好處
降低組件之間的耦合度,實現軟件各層之間的解耦。

可以使用容器提供的眾多服務,如:事務管理服務、消息服務等等。當我們使用容器管理事務時,開發人員就不再需要手工控制事務.也不需處理復雜的事務傳播。

容器提供單例模式支持,開發人員不再需要自己編寫實現代碼。

容器提供了AOP技術,利用它很容易實現如權限攔截、運行期監控等功能。

容器提供的眾多輔作類,使用這些類能夠加快應用的開發,如: JdbcTemplate、 HibernateTemplate。

Spring對於主流的應用框架提供了集成支持,如:集成Hibernate、JPA、Struts等,這樣更便於應用的開發。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM