Sung in Blog

                     一些技術文章 & 一些生活雜碎

          測試

          如你可能已經(jīng)注意到的,我和其他Spring開發(fā)這是全面單元測試重要性的堅定支持者。我們相信框架被徹底單元測試過的是非常重要的,而且我們框架設計的主要目標是讓建立在框架之上的程序易于單元測試。

          Spring自身有一個極好的單元測試包。我們的1.0 M1的單元測試覆蓋率是75%,而且我們希望在1.0 RC1的時候能夠達到80%的單元測試覆蓋率。我們發(fā)現(xiàn)在這個項目中測試優(yōu)先的開發(fā)帶來的好處是實實在在的。例如,它使得作為國際化分布式開發(fā)團隊的工作極端有效率,而且用戶評論CVS snapshots趨向于穩(wěn)定和使用安全。

          因為以下理由,我們相信用Spring構建的應用程序是非常易于測試的:

           
             IoC推動了單元測試

             應用程序不包括直接使用注入JNDI的J2EE服務的plumbing code,這些代碼一般讓測試難于進行

             Spring bean factories和contexts能夠在容器外設置

          在容器外可以設置Spring bean factory的能力提供了對開發(fā)過程有趣的可選項。在幾個使用Spring的web應用中,工作是從定義業(yè)務接口和在web容器外集成測試開始的。在業(yè)務功能已經(jīng)足夠完整之后,web接口不過是添加在其上的薄薄一層。

          誰在使用Spring

          雖然相對來說Spring還是一個新的項目,但是我們已經(jīng)有了一個令人印象深刻并且不斷增長的用戶群。它們已經(jīng)有許多產(chǎn)品使用著Spring。用戶包括一個主要的全球投資銀行(做大型項目的),一些知名的網(wǎng)絡公司,幾個web開發(fā)顧問機構,衛(wèi)生保健公司,以及學院機構。

          許多用戶完整地使用Spring,但是一些只單獨使用一些組件。例如,大量用戶使用我們地JDBC或者其他數(shù)據(jù)訪問功能。

          Roadmap

          在今年晚些時候我們主要要做的是讓Spring發(fā)布release 1.0。然而,我們還有一些更長遠的目標。

          為1.0 final規(guī)劃地主要改進式源代碼級地元數(shù)據(jù)支持,它主要用于(但不局限于)AOP框架。這將使得C#風格的attribute驅(qū)動的事務管理,并且讓聲明式企業(yè)服務在典型應用情況下非常容易配置。Attribute支持將會在Spring的1.0 final release支持中加入,并且設計的是在發(fā)布的那個時候能與JSR-175集成。

          1.0之后,一些可能的改進地方包括:


            通過對我們的JDBC和事務支持的一個相當抽象來支持JMS

            支持bean factories的動態(tài)重配置

            提供web services的能力

            IDE和其他工具支持


          作為一個敏捷項目,我們主要是受到用戶需求的驅(qū)動。因而我們不會開發(fā)沒有一個用戶需要的特性,并且我們會仔細傾聽來自用戶群的聲音。

          總結(jié)

          Spring是一個解決了許多在J2EE開發(fā)中常見的問題的強大框架。

          Spring提供了管理業(yè)務對象的一致方法并且鼓勵了注入對接口編程而不是對類編程的良好習慣。Spring的架構基礎是基于使用JavaBean屬性的Inversion of Control容器。然而,這僅僅是完整圖景中的一部分:Spring在使用IoC容器作為構建完關注所有架構層的完整解決方案方面是獨一無二的。

          Spring提供了唯一的數(shù)據(jù)訪問抽象,包括簡單和有效率的JDBC框架,極大的改進了效率并且減少了可能的錯誤。Spring的數(shù)據(jù)訪問架構還集成了Hibernate和其他O/R mapping解決方案。

          Spring還提供了唯一的事務管理抽象,它能夠在各種底層事務管理技術,例如JTA或者JDBC紙上提供一個一致的編程模型。

          Spring提供了一個用標準Java語言編寫的AOP框架,它給POJOs提供了聲明式的事務管理和其他企業(yè)事務——如果你需要——還能實現(xiàn)你自己的aspects。這個框架足夠強大,使得應用程序能夠拋開EJB的復雜性,同時享受著和傳統(tǒng)EJB相關的關鍵服務。

          Spring還提供了可以和總體的IoC容器集成的強大而靈活的MVC web框架。

          更多信息

          參見以下資源獲得關于Spring的更多信息:


            Expert One-on-One J2EE Design and Development(Rod Johnson,Wrox,2002)。雖然Spring在書出版之后已經(jīng)極大地進步和改進了,它仍然是理解Spring動機的極佳途徑。

            Spring的主頁:http://www.springframework.org。這里包括Javadoc和幾個教程。

            在Sourceforge上的論壇和下載

            Spring用戶和Spring開發(fā)者的郵件列表


          我們正在盡我們可能去改進Spring的文檔和示例。我們還為在信件和郵件列表中極好的回復率自豪。我們希望你能快速融入我們的社區(qū)!

          關于作者

          Rod Johnson 作為Java開發(fā)者和架構師已經(jīng)有了7年的經(jīng)驗了并且在J2EE平臺出現(xiàn)之初就在其上進行開發(fā)了。他是《Expert One-on-One J2EE Design and Development》(Wrox,2002)的作者并且貢獻了其他好幾本關于J2EE的書。他當前正在為Wiley撰寫另外一本有關J2EE架構的書。Rod在兩個Java標準委員會服務并且經(jīng)常師大會發(fā)言人。現(xiàn)在他在UK做一個咨詢顧問。

          posted on 2005-10-26 16:08 Sung 閱讀(193) 評論(0)  編輯  收藏 所屬分類: Java
          主站蜘蛛池模板: 海原县| 罗源县| 汕尾市| 石渠县| 古交市| 静安区| 枣阳市| 邹城市| 巴东县| 石台县| 阿拉善右旗| 漾濞| 留坝县| 潮安县| 通化县| 井研县| 运城市| 尉犁县| 建宁县| 独山县| 长治市| 扬州市| 宁强县| 玉田县| 南平市| 新邵县| 黎平县| 康定县| 泾阳县| 金塔县| 宝坻区| 司法| 旅游| 新宾| 屯门区| 揭西县| 民权县| 遵化市| 庄浪县| 社旗县| 延庆县|