Spring與WebLogic Server的集成(1)

發表于:2007-06-11來源:作者:點擊數: 標簽:
摘要 BEA WebLogic Server 9.0是對Sun Microsystems的J2EE 1.4平臺的領先實現。然而,WebLogic Server的核心價值主張則體現在J2EE規范中沒有的領域——增強的管理、易用性、高可用性、可伸縮性、 可靠性 和 性能 。實際上,WebLogic Server的價值并不與任何

摘要

 

BEA WebLogic Server 9.0是對Sun Microsystems的J2EE 1.4平臺的領先實現。然而,WebLogic Server的核心價值主張則體現在J2EE規范中沒有的領域——增強的管理、易用性、高可用性、可伸縮性、可靠性性能。實際上,WebLogic Server的價值并不與任何特定的編程模型關聯,所以很自然地,它也適用于新出現的非J2EE編程模型。近年來出現的最激動人心的事物莫過于基于反向控制(Inversion of  Control,IoC)的模型,而Spring Framework正是此類模型的領先實現。本文介紹了Spring Framework、WebLogic Server以及二者的集成的一些特性。我們將看到,整體大于部分之和。

文章結構

在前兩節中,我們將概覽Spring和WebLogic Server,并介紹它們各自的特性。熟悉Spring Framework的讀者可以跳過第一節。因為本文的主要目的是介紹兩種技術的集成,所以本文余下的部分都會集中在這一點上。為了提供一個上下文,我們首先剖析了MedRec——與WebLogic Server一起發行的一個示例應用程序——首先是以原始的J2EE形式,然后再使用Spring Framework重構。此后,我們將圍繞特定的集成點進行詳細的闡述。如果您打算在WebLogic Server上開發Spring應用程序,那么您肯定能從本文中找到對您有所幫助的細節。如果您只是想進行大概的了解,那么先閱讀標題,以后再了解其具體內容。最后,我們展望了一些正在考慮的未來開發工作。

Spring簡介

在本節中,我們將簡要概括Spring Framework的一些特性。

Spring是一個分層的Java/J2EE應用框架,它基于Rod Johnson所著的《Expert One-on-One J2EE Design and Development》(Wrox,2002年)一書中所公布的代碼。Spring之所以存在,是因為我們相信,J2EE應該更加易用,而且我們可以使用更簡單的方法進行J2EE開發,同時又不犧牲平臺的性能。

Spring支持靈活的J2EE開發,并允許使用POJO開發J2EE應用程序。

改進的Spring開發體驗

Spring在其核心部分提供了一個易于配置的、XML驅動的反向控制(IoC)容器。IoC基于所謂的“好萊塢原則”——不要給我們打電話,我們會找你。在這種方案中,應用程序中Java對象之間的關系是由容器注入的,而不是通過直接編程實現的。注入分兩種形式——構造函數注入和setter注入,這取決于容器是通過其構造函數還是通過mutator方法把信息注入一個已創建的Java對象。

在Spring中,注入的屬性——或到其他bean的引用——是通過一個XML文件進行配置的,這使得配置變得非常直接。Spring與一個AOP框架耦合在一起,而該框架支持非侵入性地添加諸如事務和安全這樣的屬性,這意味著開發人員可以集中精力創建用于解決業務問題的解決方案,而不會為J2EE開發或配置的復雜性而頭痛。因為該容器是非侵入性的,所以您不必擔心業務代碼會被特定于供應商(此處也包括Spring)的工件所污染。

Spring應用程序的組件



正如我們所提到的那樣,Spring提供了一個輕量級的容器,用于提供集中式、自動化的配置和編寫應用程序對象。該容器是非侵入性的,能夠以一種一致而透明的方式,通過IoC把一組松散耦合的組件(POJO)組裝為一個復雜的系統。因為該容器允許首先獨立地開發和測試各軟件組件,然后在任意環境(J2SE或J2EE)中進行擴展部署,所以它具有靈活性和高利用率,并提高了應用程序的可測試性和可伸縮性。

此外,Spring還提供了大量其他的對開發人員友好的特性,如下:

一個用于事務管理的通用抽象層

支持可插入的事務管理器,并使得劃分事務更加容易,同時無需處理底層的問題。該層中還包括JTA策略和一個JDBC DataSource。與普通的JTA或EJB CMT不同,Spring的事務支持并不依賴于J2EE環境。

一個JDBC抽象層

提供一種很有意義的異常層次結構(不用把供應商代碼從SQLException中抽取出來),簡化了錯誤處理,而且大大減少了必須編寫的代碼數量。不再需要編寫另一個finally塊來再次使用JCBC。面向JDBC的異常符合Spring的一般DAO異常層次結構。

與行業領先的對象-關系映射解決方案的集成

主要在資源管理、DAO實現支持和事務策略等方面。Spring對大量IoC方便特性的一流支持,解決了許多典型的O-R映射集成問題。所有這些都符合Spring的一般事務和DAO異常層次結構。

AOP功能

完全集成到Spring配置管理中。您可以對Spring所管理的任何對象啟用AOP,添加像聲明性事務管理這樣的方面。借助于Spring,您可以擁有沒有EJB的聲明性事務管理——甚至也可以沒有JTA。

一個靈活的MVC Web應用框架

構建在核心的Spring功能之上。該框架是高度可配置的(通過策略接口),并能適用多種視圖技術,比如JSP、Velocity、Tiles、iTexth和POI。注意,Spring中間層可以很容易地與基于其他任何Web MVC框架(如:Struts、WebWork或Tapestry)的Web層結合在一起。

您可以在任何J2EE服務器中使用Spring的所有功能,也可以在非托管環境中使用其中的大部分功能。

Spring的一個重心是支持可重用的業務和不依賴于特定的J2EE服務的數據訪問對象。這些對象可以不費事地跨J2EE環境(Web或EJB)、獨立應用程序和測試環境進行重用。

Spring的分層架構提供了很多靈活性。它所有的功能都構建在較低的層次上。例如,您可以在不使用MVC框架或沒有AOP支持的情況下使用JavaBean配置管理。但是,如果您要使用Web MVC框架或AOP支持,您會發現它們構建在配置框架之上,所以您可以馬上用上有關它的知識。


共6頁: 1 [2] [3] [4] [5] [6] 下一頁

原文轉自:http://www.anti-gravitydesign.com

...
国产97人人超碰caoprom_尤物国产在线一区手机播放_精品国产一区二区三_色天使久久综合给合久久97