Sung in Blog

                     一些技術(shù)文章 & 一些生活雜碎

          測(cè)試

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

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

          因?yàn)橐韵吕碛桑覀兿嘈庞肧pring構(gòu)建的應(yīng)用程序是非常易于測(cè)試的:

           
             IoC推動(dòng)了單元測(cè)試

             應(yīng)用程序不包括直接使用注入JNDI的J2EE服務(wù)的plumbing code,這些代碼一般讓測(cè)試難于進(jìn)行

             Spring bean factories和contexts能夠在容器外設(shè)置

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

          誰(shuí)在使用Spring

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

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

          Roadmap

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

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

          1.0之后,一些可能的改進(jìn)地方包括:


            通過(guò)對(duì)我們的JDBC和事務(wù)支持的一個(gè)相當(dāng)抽象來(lái)支持JMS

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

            提供web services的能力

            IDE和其他工具支持


          作為一個(gè)敏捷項(xiàng)目,我們主要是受到用戶(hù)需求的驅(qū)動(dòng)。因而我們不會(huì)開(kāi)發(fā)沒(méi)有一個(gè)用戶(hù)需要的特性,并且我們會(huì)仔細(xì)傾聽(tīng)來(lái)自用戶(hù)群的聲音。

          總結(jié)

          Spring是一個(gè)解決了許多在J2EE開(kāi)發(fā)中常見(jiàn)的問(wèn)題的強(qiáng)大框架。

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

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

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

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

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

          更多信息

          參見(jiàn)以下資源獲得關(guān)于Spring的更多信息:


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

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

            在Sourceforge上的論壇和下載

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


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

          關(guān)于作者

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

          posted on 2005-10-26 16:08 Sung 閱讀(198) 評(píng)論(0)  編輯  收藏 所屬分類(lèi): Java
          主站蜘蛛池模板: 肥乡县| 肃南| 会宁县| 崇义县| 循化| 桓台县| 衡山县| 普兰县| 浮梁县| 定安县| 隆林| 兰西县| 泰州市| 资中县| 惠东县| 彭州市| 临朐县| 闸北区| 忻州市| 南投市| 乌苏市| 新乡市| 泰和县| 台安县| 皮山县| 重庆市| 上饶市| 宽城| 四川省| 抚顺市| 大悟县| 娱乐| 祁阳县| 五家渠市| 沂南县| 海淀区| 阳山县| 鹤庆县| 临洮县| 太谷县| 崇义县|