ioc是什么意思的縮寫
發(fā)布時(shí)間:2025-10-28 06:18:09
?
閱讀量:1次
?
來源:互聯(lián)網(wǎng)
其中最常見的方式叫做依賴注入(Dependency Injection,簡稱DI),還有一種方式叫“依賴查找”(Dependency Lookup)。通過控制反轉(zhuǎn),對象在被創(chuàng)建的時(shí)候,由一個(gè)調(diào)控系統(tǒng)內(nèi)所有對象的外界實(shí)體將其所依賴的對象的引用傳遞給它。也可以說,依賴被注入到對象中。
IoC是一個(gè)很大的概念,可以用不同的方式實(shí)現(xiàn)。
其主要形式有兩種:
依賴查找:
容器提供回調(diào)接口和上下文條件給組件。EJB和Apache Avalon 都使用這種方式。這樣一來,組件就必須使用容器提供的API來查找資源和協(xié)作對象,僅有的控制反轉(zhuǎn)只體現(xiàn)在那些回調(diào)方法上(也就是上面所說的 類型1):容器將調(diào)用這些回調(diào)方法,從而讓應(yīng)用代碼獲得相關(guān)資源。
依賴注入:
組件不做定位查詢,只提供普通的Java方法讓容器去決定依賴關(guān)系。容器全權(quán)負(fù)責(zé)的組件的裝配,它會把符合依賴關(guān)系的對象通過JavaBean屬性或者構(gòu)造函數(shù)傳遞給需要的對象。通過JavaBean屬性注射依賴關(guān)系的做法稱為設(shè)值方法注入(Setter Injection);將依賴關(guān)系作為構(gòu)造函數(shù)參數(shù)傳入的做法稱為構(gòu)造器注入(Constructor Injection)