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 社区中所有即将举行的活动。

查看全部