Spring(2)IOC

一:IOC理論推導

控制反轉:以前,程序是主動建立對象!控制權在程序員手上!java

使用了Set注入後,程序再也不具備主動性,而是變成了被動的接收對象!程序員

private UserDao  userDao;
//利用set進行動態實現值的注入
public void setUserDao(UserDao userDao){//從Controller層傳過來咱們要進行那個Dao層的調用,傳遞一個Dao的對象。
   this.userDao=userDao;
}

 上面咱們使用一個set接口,已經與之前比,發生了革命性的變化;編程

這種思想,從本質上解決了問題,咱們程序猿不用再去管理對象的建立了,系統的耦合性大大下降,能夠更加專一在業務的實現上,這就是IOC的原型。框架

二:IOC的本質

控制反轉IOC,是一種設計思想。DI(依賴注入)是實現IOC的一種方法,也有人認爲DI只是IOC的另外一種說法。沒有IOC的程序中,咱們使用面向對象編程,對象的建立與對象間的依賴關係徹底硬編碼在程序中,對象的建立由程序本身控制,控制反轉後將對象的建立轉移給第三方,我的認爲所謂的控制反轉就是:得到依賴對象的方式反轉了。this

控制反轉:建立對象實例的控制權從代碼控制剝離到IOC容器控制,實際就是你在xml文件控制,側重於原理。
依賴注入:建立對象實例時,爲這個對象注入屬性值或其它對象實例,側重於實現。編碼

Spring容器在初始化時先讀取配置文件,根據配置文件或元數據建立與組織對象存入容器中,程序使用時再從IOC容器中取出須要的對象。設計

       採用XML方式配置Bean的時候,Bean的定義信息是和實現分離的,而採用註解的方式能夠把倆者合爲一體,Bean的定義信息直接以註解的形式定義在實現類中,從而達到了零配置的目的。xml

       控制反轉是一種經過(XML或者註解)並經過第三方去生產或獲取特定對象的方式,在Spring中實現控制反轉的是IOC容器,其實現方法是依賴注入。對象

之前咱們是將主動權交給了程序員,如今將主動權交給了用戶:blog

 

 1.Spring容器的真正做用:

 

 2.IOC是Spring的框架的核心內容:

使用多種方式完美實現IOC,可使用XML配置也可使用註解;

Spring容器在初始化的時候是先讀取配置文件,根據配置文件和元數據建立和組織對象存入容器,程序使用時從IOC容器中獲取須要的對象。

相關文章
相關標籤/搜索