剛才寫完了隨筆,要儲存的時候突然就沒了...只好再做一次筆記,算是加深印象吧...
之前一直不理解ioc(控制反轉)和di(依賴注入)的含義。原來ioc是乙個通用的設計原則,用於解耦元件之間的依賴關係。而di則是具體的設計模式,是ioc的乙個典型實現,怪不得之前看的資料上說ioc和di可以理解為同乙個東西...雖然這個說法不太對,但是還是能給人加深一些記憶的。
publicclass
fruitservice
public
void
mysaid()
}
publicclass
test
}
所以可以想象為什麼需要乙個ioc容器。因為容器可以管理元件,這意味著例項化類和注入可以由容器完成,而我們只需要把相應的元件放在容器裡就可以了。可以寫乙個簡單的與springioc容器概念相似的container類。(因為是簡單的實現,所以用map來存放元件,假裝像在配置檔案裡配置的效果)**如下:
publicclass
container
public
object getcomponents(string id)
}
接下來再看看測試類:
publicclass
test
}
這時候就會輸出」我是蘋果,我很好吃」了。由上面測試類也可以看出,為什麼使用spring ioc容器時都要先例項化該容器,道理也是一樣的。依賴注入則是和上面例子中容器類的setter概念相似,即容器幫你把需要的物件進行了setter。形象化的說法就是,你不必自己去找食物,已經有人把食物塞到你手裡了,這個人就是ioc容器。
理解spring框架的控制反轉筆記結束。
spring框架 IOC控制反轉
spring的核心機制 ioc,通常被稱為控制反轉,是一種設計思想,對於某個具體的物件而言,以前是它控制其他物件,現在是所有物件都被spring控制,所以這叫控制反轉。ioc的乙個重點是在系統執行中,動態的向某個物件提供它所需要的其他物件。這一點是通過di dependency injection,...
Spring控制反轉 IoC 的理解
spring框架的核心就是控制反轉 inversion of control 和依賴注入 dependency injection 通過這兩方面來實現松耦合。使用ioc,物件是被動的接受依賴類,而不是自己主動的去找。容器在例項化的時候主動將它的依賴類注入給它。可以這樣理解 控制反轉將類的主動權轉移到...
Spring控制反轉 IoC 的理解
spring框架的核心就是控制反轉 inversion of control 和依賴注入 dependency injection 通過這兩方面來實現松耦合。一 控制反轉 inversion of control 和依賴注入 使用ioc,物件是被動的接受依賴類,而不是自己主動的去找。容器在例項化的時...