Spring 的IoC容器通過接口注入的方式降低對象之間的依賴關(guān)系,也就是降低了業(yè)務(wù)組件之間的耦合性,業(yè)務(wù)組件之間的依賴通過配置來實現(xiàn)。應(yīng)用代碼中不需要創(chuàng)建對象。換句話說,就是在配置文件中對哪個組件需要哪項服務(wù)進行描述,而不在代碼中以硬編碼的方式直接和對象與服務(wù)器連接。之后IoC容器將負(fù)責(zé)將他們聯(lián)系在一起,這是基于面向接口編程原則的高級產(chǎn)物。
在Spring配置文件中,可以看到一些有著特定名字的Bean,Bean下面的配置是一些屬性(property)。這些就是Spirng的核心IoC容器的配置,可以方便地對Spring MVC進行擴展和增強。
IoC機制有什么好處?說白了就是解耦。舉個簡單的例子來說,我們經(jīng)常寫測試用例,但是在寫用例的時候,可能因為某些業(yè)務(wù)邏輯中依賴了其他第三方提供的接口,而這些第三方接口僅僅給你提供了接口定義而沒有具體運行環(huán)境支撐的時候,我們的測試用例根本無法順利運行起來,這時我們想到了Mock,用Mock類來模擬第三方的接口。這時候如果Mock不是基于Spring的IoC體系建立的話,測試用例就會形成對Mock的強依賴。想象一個場景,使用Mock的用例我們跑通了,但是如果要切換到真實的第三方環(huán)境中運行測試用例呢,如何能在不修改代碼的前提下實現(xiàn)?可以,因為有IoC容器。IoC讓我們被迫基于接口編程,也給了我們極大的便利,只要在Spring運行上下文配置文件中修改測試用例中所注入的Bean定義,就可以切換到真實環(huán)境下的測試場景,僅僅是一個配置定義的修改,無需改變?nèi)魏未a,很輕松的吧。
只有注冊用戶登錄后才能發(fā)表評論。 | ||
![]() |
||
網(wǎng)站導(dǎo)航:
博客園
IT新聞
Chat2DB
C++博客
博問
管理
|
||
相關(guān)文章:
|
||