列宿乃施于上榮兮 日月才經于柍桭

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

          Spring Ioc的理解

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

            Spring 的IoC容器通過接口注入的方式降低對象之間的依賴關系,也就是降低了業務組件之間的耦合性,業務組件之間的依賴通過配置來實現。應用代碼中不需要創建對象。換句話說,就是在配置文件中對哪個組件需要哪項服務進行描述,而不在代碼中以硬編碼的方式直接和對象與服務器連接。之后IoC容器將負責將他們聯系在一起,這是基于面向接口編程原則的高級產物。
            在Spring配置文件中,可以看到一些有著特定名字的Bean,Bean下面的配置是一些屬性(property)。這些就是Spirng的核心IoC容器的配置,可以方便地對Spring MVC進行擴展和增強。
            IoC機制有什么好處?說白了就是解耦。舉個簡單的例子來說,我們經常寫測試用例,但是在寫用例的時候,可能因為某些業務邏輯中依賴了其他第三方提供的接口,而這些第三方接口僅僅給你提供了接口定義而沒有具體運行環境支撐的時候,我們的測試用例根本無法順利運行起來,這時我們想到了Mock,用Mock類來模擬第三方的接口。這時候如果Mock不是基于Spring的IoC體系建立的話,測試用例就會形成對Mock的強依賴。想象一個場景,使用Mock的用例我們跑通了,但是如果要切換到真實的第三方環境中運行測試用例呢,如何能在不修改代碼的前提下實現?可以,因為有IoC容器。IoC讓我們被迫基于接口編程,也給了我們極大的便利,只要在Spring運行上下文配置文件中修改測試用例中所注入的Bean定義,就可以切換到真實環境下的測試場景,僅僅是一個配置定義的修改,無需改變任何代碼,很輕松的吧。

          主站蜘蛛池模板: 斗六市| 康马县| 商南县| 墨竹工卡县| 瑞昌市| 永宁县| 保靖县| 新蔡县| 峨眉山市| 手机| 特克斯县| 咸阳市| 应城市| 焉耆| 郸城县| 延津县| 嵊州市| 称多县| 方山县| 南充市| 印江| 资阳市| 忻州市| 鹤山市| 长白| 柘荣县| 五华县| 融水| 泰兴市| 新津县| 临沧市| 观塘区| 香河县| 新昌县| 济南市| 宜春市| 古田县| 大庆市| 兰溪市| 昌乐县| 福建省|