列宿乃施于上榮兮 日月才經(jīng)于柍桭

          ………… 白駒過隙 歲月如斯 夢縈回繞 心靈之聲
          posts - 57, comments - 8, trackbacks - 0, articles - 41
            BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

          Spring Ioc的理解

          Posted on 2008-09-04 06:52 默認(rèn)為零 閱讀(248) 評論(0)  編輯  收藏 所屬分類: 技術(shù)感悟

            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,很輕松的吧。

          主站蜘蛛池模板: 惠东县| 普兰店市| 德昌县| 军事| 宝兴县| 通河县| 二连浩特市| 十堰市| 海宁市| 乳山市| 苍南县| 天津市| 井研县| 内乡县| 花莲县| 府谷县| 邹城市| 高雄县| 商城县| 铜川市| 额济纳旗| 保靖县| 哈巴河县| 平远县| 三原县| 曲沃县| 邳州市| 民权县| 宣恩县| 水城县| 九寨沟县| 囊谦县| 滦平县| 开鲁县| 大同县| 唐山市| 昭苏县| 永福县| 蒙城县| 深州市| 曲靖市|