领先一步
VMware 提供培训和认证,以加快您的进度。
了解更多Spring 在 Java EE 6 上 - 一个可行的组合?当您拥有要部署的 Java EE 6 服务器时,您能否轻松继续使用 Spring?在刚刚开始几个小时的今年 SpringOne 大会 上,我将再次就 Spring 和 EE 6 进行演讲:现在重点关注 GlassFish 3 作为生产环境中实际可用(并且此时仍然是唯一可用的)EE 6 服务器。作为抢先预览,以下是该演示文稿中考虑的四个关键因素……
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 为其提供了替代编程模型,同时与下面的相同平台服务集成。
在 GlassFish 3 上,许多开发人员将继续选择 Wicket 或 GWT 而不是 JSF,Hibernate 而不是 EclipseLink,以及 Spring 而不是 EJB/CDI。这些决策将由风格考虑以及架构要求驱动,尤其是可移植性问题。所有这些框架都必须与应用程序一起部署,因为它们不是服务器的核心部分,但这几乎不会成为决定性因素。“重量”方面,它们甚至处于同一水平:比较 Hibernate 3.6 jar 的大小与 Spring 3.0 的大小(约 4 MB)。
今天只有 GlassFish 3 可作为最终版本使用。JBoss 6 仍在里程碑 5;WebSphere 8 处于早期测试阶段。另一方面,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 等云平台……
看看云、看看 NoSQL、看看分布式缓存……Java EE 6 规范捕捉了 2009 年初的最新技术 - Spring 3.0 也是如此。但是,自从 EE 6 发布以来,替代趋势已经走到前列。Spring 3.1/3.2 将在 2011 年的过程中朝着这个方向发展:全新的编程模型功能将可在现有部署平台上立即使用(例如 Tomcat 6 或 WebSphere 7,无需进行服务器升级)。凭借这种固有的敏捷性,Spring 将继续领先于缓慢的 Java EE 周期数年。