BEA WebLogic Server 9.0是對(duì)Sun Microsystems的J2EE 1.4平臺(tái)的領(lǐng)先實(shí)現(xiàn)。然而,WebLogic Server的核心價(jià)值主張則體現(xiàn)在J2EE規(guī)范中沒有的領(lǐng)域――增強(qiáng)的治理、易用性、高可用性、可伸縮性、可靠性和性能。實(shí)際上,WebLogic Server的價(jià)值并不與任何特定的編程模型關(guān)聯(lián),所以很自然地,它也適用于新出現(xiàn)的非J2EE編程模型。近年來(lái)出現(xiàn)的最激動(dòng)人心的事物莫過于基于反向控制(Inversion of Control,IoC)的模型,而SPRing Framework正是此類模型的領(lǐng)先實(shí)現(xiàn)。本文介紹了Spring Framework、WebLogic Server以及二者的集成的一些特性。我們將看到,整體大于部分之和。
在前兩節(jié)中,我們將概覽Spring和WebLogic Server,并介紹它們各自的特性。熟悉Spring Framework的讀者可以跳過第一節(jié)。因?yàn)楸疚牡闹饕康氖墙榻B兩種技術(shù)的集成,所以本文余下的部分都會(huì)集中在這一點(diǎn)上。為了提供一個(gè)上下文,我們首先剖析了MedRec――與WebLogic Server一起發(fā)行的一個(gè)示例應(yīng)用程序――首先是以原始的J2EE形式,然后再使用Spring Framework重構(gòu)。此后,我們將圍繞特定的集成點(diǎn)進(jìn)行具體的闡述。假如您打算在WebLogic Server上開發(fā)Spring應(yīng)用程序,那么您肯定能從本文中找到對(duì)您有所幫助的細(xì)節(jié)。假如您只是想進(jìn)行大概的了解,那么先閱讀標(biāo)題,以后再了解其具體內(nèi)容。最后,我們展望了一些正在考慮的未來(lái)開發(fā)工作。
在本節(jié)中,我們將簡(jiǎn)要概括Spring Framework的一些特性。
Spring 是一個(gè)分層的java/J2EE應(yīng)用框架,它基于Rod Johnson所著的《EXPert One-on-One J2EE Design and Development》(Wrox,2002年)一書中所公布的代碼。Spring之所以存在,是因?yàn)槲覀兿嘈牛琂2EE應(yīng)該更加易用,而且我們可以使用更簡(jiǎn)單的方法進(jìn)行J2EE開發(fā),同時(shí)又不犧牲平臺(tái)的性能。
Spring支持靈活的J2EE開發(fā),并答應(yīng)使用POJO開發(fā)J2EE應(yīng)用程序。
Spring在其核心部分提供了一個(gè)易于配置的、xml驅(qū)動(dòng)的反向控制(IoC)容器。IoC基于所謂的“好萊塢原則”――不要給我們打電話,我們會(huì)找你。在這種方案中,應(yīng)用程序中Java對(duì)象之間的關(guān)系是由容器注入的,而不是通過直接編程實(shí)現(xiàn)的。注入分兩種形式――構(gòu)造函數(shù)注入和setter注入,這取決于容器是通過其構(gòu)造函數(shù)還是通過mutator方法把信息注入一個(gè)已創(chuàng)建的Java對(duì)象。
在Spring中,注入的屬性――或到其他bean的引用――是通過一個(gè)XML文件進(jìn)行配置的,這使得配置變得非常直接。Spring與一個(gè)AOP框架耦合在一起,而該框架支持非侵入性地添加諸如事務(wù)和安全這樣的屬性,這意味著開發(fā)人員可以集中精力創(chuàng)建用于解決業(yè)務(wù)問題的解決方案,而不會(huì)為J2EE開發(fā)或配置的復(fù)雜性而頭痛。因?yàn)樵撊萜魇欠乔秩胄缘模阅槐負(fù)?dān)心業(yè)務(wù)代碼會(huì)被特定于供給商(此處也包括Spring)的工件所污染。
正如我們所提到的那樣,Spring提供了一個(gè)輕量級(jí)的容器,用于提供集中式、自動(dòng)化的配置和編寫應(yīng)用程序?qū)ο蟆T撊萜魇欠乔秩胄缘模軌蛞砸环N一致而透明的方式,通過IoC把一組松散耦合的組件(POJO)組裝為一個(gè)復(fù)雜的系統(tǒng)。因?yàn)樵撊萜鞔饝?yīng)首先獨(dú)立地開發(fā)和測(cè)試各軟件組件,然后在任意環(huán)境(J2SE或J2EE)中進(jìn)行擴(kuò)展部署,所以它具有靈活性和高利用率,并提高了應(yīng)用程序的可測(cè)試性和可伸縮性。此外,Spring還提供了大量其他的對(duì)開發(fā)人員友好的特性,如下:
新聞熱點(diǎn)
疑難解答
圖片精選
網(wǎng)友關(guān)注