返回信息流原文链接
作者 Ryan Slobojan 译者 徐会生 发布于 2009年12月21日 上午6时16分
社区 Java 主题 开放源代码, Web框架, REST 标签 SpringSource dm Server, JPA, Spring Web Flow, Spring JavaConfig, Spring框架, Spring Roo, SpringIntegration
Spring 3.0于12月16日发布啦。InfoQ采访了Spring Framework项目的技术负责人Juergen Hoeller,向他了解这次发布的一些情况以及其对Spring portfolio带来的改变。
Hoeller介绍了Spring 3.0中的主要新特性:
基于Java5 - 核心API使用了Java 5的特性,诸如泛型、注解等等,因此现在Spring 3.0要求Java 5或更高版本
Spring表达式语言(SpEL) - 和JSF中的统一表达式语言(Unified EL)类似,构造复杂表达式 非常简单。
支持基于注解的组件 - Spring JavaConfig的一些功能已经被移植到核心框架中了,比如@Configuration、@Bean和@DependsOn。
使用约束注解的声明式模型校验 - 增加对JSR 303的支持,我们现在可以使用诸如@NotNull和@Max(23)这样的注解给bean增加校验规则。
Spring MVC全面支持REST - 增加了对构建RESTful服务器和客户端的支持。
支持Java EE 6 - 支持许多Java EE 6特性,如JPA 2.0和JSF 2.0,而且可以运行在Tomcat及J2EE 1.4这样的非EE 6容器中。
支持JSR 330 - 现在支持由JSR 330引入的javax.inject注解。
基于注解进行格式化 - 可以使用注解对bean的属性自动进行格式化和转换,比如@DateFimeFormat(iso=ISO.DATE)及@NumberFormat(style=Style.CURRENCY)。
Spring还提供了完整的修改记录和参考文档。
Hoeller在谈到SpEL时给出了更为详细地说明:
SpEL是一种功能强大的表达式语言,语法遵循统一表达式语言(Unified EL),它与JSF中使用的表达式非常类似。我们特别为SpEL开发了自己的表达式解析器以提供特定的功能:这些特定功能被用在bean定义配置及Spring Integration这样的项目上。在Spring核心中很多地方都用到了"#{...}"表达式,比如XML bean定义和@Value注解、以名字动态引用其它bean并以简明形式间接引用它们的属性。
例如,下面这段XML(来自Spring 3.0 文档)使用SpEL来配置Spring bean的属性,属性值来自JVM系统参数:
<bean class="mycompany.RewardsTestDatabase">
<property name="databaseName"
value="#{systemProperties.databaseName}"/>
<property name="keyGenerator"
value="#{strategyBean.databaseKeyGenerator}"/>
</bean>
Hoeller还着重介绍了Spring 3.0中对REST的支持:
我们面对的挑战是在Spring MVC的世界中加入对REST的支持,把这种强大的新功能交到MVC用户的手中。我们决定从MVC底层来为路径变量抽取、内容协商等等提供支持,这种方法是正确的——仔细考虑Spring MVC的能力并把它提升到另一个层次,同时又不破坏其基础架构。结果很不错,而且已有的Spring MVC应用采用REST特性也变得简单了。
我们的主要焦点集中于遵循REST协定的web用户接口上。下一步,在Spring MVC基础上实现基于REST的WEB服务也是一件很有意思的事,特别是结合OXM(Object/XML Mapping)模块(如今已成为Spring核心的一部分)。最后,我们要提供一个Spring风格的RestTemplate类,为客户端与面向REST后台服务器的程序交互提供支持。
对于那些工作在Spring 2.5之上,以及那些将其代码更新为基于注解风格的开发者,这次升级过程都将是非常平滑的——在升级到3.0之后,新特性的使用是可选的,而且不需要对基础架构进行任何改变。对那些正在使用更老版本如控制器类层级形式的开发者,这些东西3.0仍然会支持,但是现在不赞成使用(deprecated)。要使用3.0的新特性,必须转向基于注解的 @MVC风格。对Spring 2.0的用户,99%的代码可以继续工作,但是更老的组件如对Apache Commons Attributes、WebLogic 8.1 和 WebSphere5.1的支持被移除了。
当问到Spring Framework的未来计划时,Hoeller提到开发将持续受到Spring portfolio中其他项目的严重影响,比如Spring Integration、Spring Web Flow、SpringSource dm Server以及Spring Roo等等。3.1要发布的功能特性就将受到Spring Integration 2.0和Spring Web Flow 3.0很大影响,比如计划中的一流会话管理、作用域的扩展支持,以及基于注解组件模型的改良等等。在已计划的3.1于2010年中期发布之后,紧接着就是3.2版,但是目前3.2的具体计划还没有最终确定下来。
查看英文原文:Spring 3.0: Java 5 Required, Adds New Expression Language and REST Support
这是一条镜像帖。来源:北邮人论坛 / java / #12790同步于 2009/12/23
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Java机器人发帖
Spring 3.0发布:基于Java5,添加了新的表达式语言和对REST的支
DestinyOwner
2009/12/23镜像同步1 回复
订阅后,新回复会通过你的通知中心匿名送达。
1 条回复
您好,请问能给推荐一本上手快的Spring mvc的书么 谢啦
【 在 DestinyOwner 的大作中提到: 】
: 原文链接
: 作者 Ryan Slobojan 译者 徐会生 发布于 2009年12月21日 上午6时16分
: 社区 Java 主题 开放源代码, Web框架, REST 标签 SpringSource dm Server, JPA, Spring Web Flow, Spring JavaConfig, Spring框架, Spring Roo, SpringIntegration
: ...................