天天看點

Spring源碼分析---IOC

IOC案例了解(依賴注入):

IOC其實就是一個容器而已,他要幹的事情其實就是一個依賴注入的問題,
 再說的直白一點就是 指派,把右邊的值指派給左邊。
           

場景

在平常的開發當中,會在Controller層寫上
           
@AutoWrite private ServivceInterface si ;
           
如果要是沒有IOC的依賴注入,完成這麼一件事,需要通過 
    private ServiceInterface  si = new ServiceInterfaceImpl();

 是以其實IOC做的事前就是把這個指派的過程給幹了。這個過程可以了解為依賴注入。
           

控制反轉

在實作的ioc依賴注入的過程當中,還需要考慮一個問題,就是順序的問題,比
 如在Controller層中需要注入Service層的東西,在Service層中需要注入
 Dao層的東西,那麼肯定需要這些類都被初始化完之後才能依賴注入,于是就需
 要先把所有的new出來的對象放到IOC中,把new 對象的權力交給IOC,這個過
 程其實就是控制反轉。
           

個人了解

其實一直有說 ioc 是依賴注入,也有人說ioc 是控制反轉。我個人了解:ioc
    的目的是實作依賴注入(指派),在實作這個過程中需要把所有的對象都存儲到
    ioc中,這樣ioc會有所有對象的執行個體(控制反轉)。