Java EE 6 伺服器上的 Spring 3

工程 | Juergen Hoeller | 2010 年 10 月 20 日 | ...

Spring 在 Java EE 6 上 - 可行的組合嗎? 當您有 Java EE 6 伺服器可以部署時,是否可以輕鬆地繼續使用 Spring? 在今年的 SpringOne 會議上,該會議於幾小時前剛剛拉開帷幕,我將再次就 Spring 和 EE 6 進行演講:現在重點關注 GlassFish 3,它是一款在生產環境中實際可用(而且此時仍然是唯一可用)的 EE 6 伺服器。 作為預覽,以下是該簡報中的四個關鍵考慮因素……

1. 像 GlassFish 3 這樣的 Java EE 6 伺服器是 Spring 3 的良好執行時環境

GlassFish 3 提供了許多開箱即用的中介軟體:Servlet 3.0、JSF 2.0、JPA 2.0,以及傳統的 EE 服務,如 JTA 和 JMS——所有這些都非常適合在基於 Spring 的應用程式中使用。GlassFish 還捆綁了一個 JSR-303 驗證提供程式、JSR-303 API、JSR-250 通用註解:這些都是與 Spring 3.0 一起使用的關鍵 API。有了這樣的組合,Spring 作為框架和伺服器作為中介軟體平臺之間的重疊就降到了最低:基本上只有 EJB 和 CDI 元件模型(僅佔 GlassFish 3 程式碼庫的約 5%),Spring 為此提供了一個替代的程式設計模型,同時與底層相同的平臺服務整合。

2. 在 Java EE 6 伺服器上選擇 Spring 是非常自然的事情

在 GlassFish 3 上,許多開發人員將繼續選擇例如 Wicket 或 GWT 而非 JSF,Hibernate 而非 EclipseLink,以及 Spring 而非 EJB/CDI。這些決定將由風格考慮和架構需求驅動,其中不乏可移植性方面的考慮。所有這些框架都必須與應用程式一起部署,因為它們不是伺服器的核心部分,但這 hardly 會成為決定性因素。就“重量”而言,它們甚至在同一範圍內:比較 Hibernate 3.6 jar 和 Spring 3.0 jar 的大小(約 4MB)。

3. 您願意將目標環境限制在 Java EE 6 伺服器上嗎?

今天只有 GlassFish 3 可用作最終版本。JBoss 6 仍處於里程碑 5;WebSphere 8 處於早期 beta 階段。另一方面,Spring 3 可以在 Tomcat 5、6 和 7 上執行,以及在 WebSphere 6.1 等 J2EE 1.4 伺服器上執行,以及在 WebSphere 7 等 Java EE 5 伺服器上執行。如果碰巧在生產環境中有 EE 6 伺服器,那麼 Spring 3 是一個“好公民”,並將儘可能多地利用 EE 6 伺服器的功能。此外,基於 Spring 3 的應用程式可以部署到 Google App Engine 和 VMforce 等雲平臺……

4. 世界正在超越 Java EE 6,並且可預見地也將超越 Java EE 7

看看雲、看看 NoSQL、看看分散式快取……Java EE 6 規範捕捉了 2009 年初的最新技術——Spring 3.0 也是如此。然而,自 EE 6 釋出以來,替代趨勢已移至前沿。Spring 3.1/3.2 將在 2011 年朝著這個方向發展:將提供全新的程式設計模型功能,可在現有部署平臺(例如 Tomcat 6 或 WebSphere 7)上立即使用,而無需進行伺服器升級。憑藉這種固有的敏捷性,Spring 將繼續比緩慢的 Java EE 週期領先數年。

獲取 Spring 新聞通訊

透過 Spring 新聞通訊保持聯絡

訂閱

領先一步

VMware 提供培訓和認證,助您加速進步。

瞭解更多

獲得支援

Tanzu Spring 提供 OpenJDK™、Spring 和 Apache Tomcat® 的支援和二進位制檔案,只需一份簡單的訂閱。

瞭解更多

即將舉行的活動

檢視 Spring 社群所有即將舉行的活動。

檢視所有