Java EE 6 伺服器上的 Spring 3

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

Java EE 6 上的 Spring - 一個可行的組合?當您擁有 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-330 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。 這些決定將受到風格考慮以及架構要求的影響,尤其是可移植性問題。 所有這些框架都必須與應用程式一起部署,因為它們不是伺服器的核心部分,但這很難成為一個決定性因素。 FWIW,它們在“權重”方面甚至在同一個範圍內:將 Hibernate 3.6 jar 的大小與 Spring 3.0 jar 的大小進行比較(約 4 MB)。

3. 您是否願意將您的目標環境限制為 Java EE 6 伺服器?

今天只有 GlassFish 3 可以作為最終版本使用。 JBoss 6 仍處於里程碑 5 階段;WebSphere 8 處於早期 beta 階段。 另一方面,Spring 3 在 Tomcat 5、6 和 7 以及 J2EE 1.4 伺服器(例如 WebSphere 6.1)以及 Java EE 5 伺服器(例如 WebSphere 7)上執行。 如果 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 社群中所有即將舉行的活動。

檢視全部