Spring 2.0 中 JPA 入门指南

工程 | Mark Fisher | 2006年5月30日 | ...

这篇博客文章的目的是提供一个简单的分步指南,用于在使用 Spring Framework 的独立环境中开始使用JPA。虽然JPA规范最初是作为EJB 3.0 的持久化机制而产生的,但幸运的是,人们认识到任何此类机制实际上都应该能够持久化简单的POJO。因此,只需在类路径中添加少量JAR文件和一些Spring配置的bean,您就可以在您最喜欢的IDE中开始试验JPA代码。我将使用 Glassfish JPA——它是参考实现,基于 Oracle 的……

2006 年亚特兰大开发者大会

工程 | Ben Hale | 2006年5月26日 | ...

我刚刚完成了在 2006 年亚特兰大开发者大会上的Spring 2.0:新增功能演讲。首先,我要说的是这次大会很棒。会场和组织者都一流。我要特别感谢 Burr Sutter 举办了如此精彩的大会。当会议中心没有无线网络,但你可以从隔壁的咖啡馆获得网络时,你就知道一切进展顺利。这是好兆头!JUG 成员都非常博学(即使是不了解 Spring 的成员)并提出了很棒的问题。我回答了关于 EJB 的问题……

Spring Framework 1.2.8 发布

发行版 | Juergen Hoeller | 2006年5月8日 | ...

尊敬的 Spring 社区:

我们很高兴地宣布 Spring 1.2.8 已发布。下载 | 文档 | 变更日志

这是一个维护版本,修复了以前 1.2.x 版本中发现的一些问题。大多数这些修复程序已从 2.0 M4 反向移植,因此已在那里可用。请参阅 变更日志 以了解详细信息。

Juergen
-----
Juergen Hoeller
Spring Framework 开发负责人
Interface21 首席架构师
http://www.springframework.org
http://www.interface21.com

Spring Web Flow 1.0 RC1 发布

发行版 | Keith Donald | 2006年5月3日 | ...

Spring Web Flow Logo

尊敬的 Spring 社区:

我们非常高兴地宣布 Spring Web Flow (SWF) 1.0 RC1(候选发布版 1)已发布。 下载

经过一年多的艰苦开发工作,29,000 次下载,500 名 论坛用户 发表了 3,700 多篇文章, 一本书大量 社区-驱动文章,此版本提供了 Spring Web Flow 的第一个 1.0 候选发布版。此版本被认为适合生产使用,它巩固了 1.0 API,该 API 将在整个 1.x 系列中保持向后兼容。

感谢支持我们产品的 Spring Web Flow 早期采用者和拥护者。由于您的反馈和支持,Spring Web Flow 提供了当今最具创新性和功能强大的控制器引擎之一。

Spring Web Flow 团队预计在 1.0 正式版发布之前还会发布一个候选发布版。1.0 RC1 的新增功能包括...

新增功能

改进对管理有状态业务组件的支持。Spring Web Flow 现在采用了几种技术来管理作为任务执行一部分执行业务逻辑的有状态中间层组件的实例。在大多数情况下,状态管理是完全透明的。您只需将应用程序状态存储在实例变量中,Spring Web Flow 就会以线程安全的方式在一个对话中处理该状态的范围。

简单的NumberGuess示例应用程序说明了这种支持,其中由流程管理的“游戏”组件执行游戏业务逻辑。组件本身对 Spring Web Flow API 没有依赖性。

为了演示,游戏组件的业务接口可以定义为

Game interface

执行与用户一起进行游戏的流程定义可能如下所示:

 Game flow

最后,逻辑game操作标识符和 Game 实现之间的绑定由 Spring 在game-beans.xml中进行。

 Game beans

HigherLowerGame 实现也完全与 Spring 和 Spring Web Flow API 解耦。

增强对流程变量的支持,在流程启动时自动创建。流程变量值甚至可以来自后备 bean 工厂,从而受益于那里的完全依赖注入。变量的确切范围是可配置的。

一种新的流程执行重定向响应类型,用于重定向到唯一的“流程执行 URL”。访问流程执行 URL 会刷新流程在以前输入的 ViewState 中,允许从那里继续。只要会话处于活动状态并且继续点仍然有效,URL 就保持有效。这允许在没有页面缓存的情况下充分使用后退、下一步、刷新和新窗口按钮。

改进了状态异常处理,并方便地支持执行转换的状态异常处理程序。核心转换元素现在支持一个on-exception 属性,该属性在发生异常时驱动到新状态的转换。例如

执行转换状态异常处理 

...如果placeOrder方法抛出AccountException,则将流程转换到editAccount状态。

改进了流程属性映射支持。现在,每个流程都可以配置一个输入映射器来映射启动流程的调用者提供的输入。流程还可以配置一个输出映射器来将返回值暴露给终止流程的调用者。这些增强功能允许流程在不更改的情况下同时用作顶级流程和子流程,因为输入和输出属性在这两种情况下都一致地映射。

支持动态视图名称和目标状态表达式,分别允许方便地基于运行时计算 ViewState 的逻辑视图名称和转换的目标状态。

增强的 JSF 集成。JSF 集成现在支持逻辑重定向响应类型,包括 FlowExecutionRedirect、ConversationRedirect、FlowRedirect 和 ExternalRedirect。此外,对 FlowPhaseListener 的增强允许启动和刷新流程执行,而无需经历正式的导航步骤。1.0 RC2 预计将添加更多 JSF 便利性和在 Portlet 环境中对 JSF 的官方支持。

其他资源和入门方法

Spring Web Flow 1.0 RC1 进一步完善了参考手册,提供了 50 页关于 SWF 用法的重点内容。该手册可在 HTMLPDF 格式在线获取。

开始使用 Spring Web Flow 的最佳方法之一是查看和演练示例应用程序。我们建议从一开始就查看所有示例,并根据需要补充参考手册材料。1.0 RC1 版本附带九 (9) 个示例应用程序,每个应用程序都演示了一组不同的产品功能。这些示例是

1. 电话簿 - 演示大多数功能(包括子流程)的原始示例。
2. 出售商品 - 演示带有条件转换、流程执行重定向、会话范围和延续的向导。
3. 流程启动器 - 演示启动和恢复流程的所有可能方法。
4. 商品列表 - 演示 REST 样式的 URL、到可刷新的会话 URL 的会话重定向以及内联流程。
5. 运费 - 演示 Spring Web Flow 与 Ajax 技术结合使用(感谢 Steven Devijver)
5. 猜数字 - 演示有状态 bean
6. 出生日期 - 演示 Struts 集成。
7. 文件上传 - 演示多部分文件上传。
8. 电话簿-Portlet - Portlet 环境中的电话簿示例(请注意流程定义没有更改)
9. 出售商品-JSF - JSF 环境中的出售商品示例(请注意流程定义没有更改)

要构建用于一步部署的示例应用程序,只需解压缩发行版存档,访问projects/build-spring-webflow目录并执行 ant dist 目标。有关发行版存档内容和示例的更多信息,请参见发行版 readme.txt 和 projects/spring-webflow-samples/readme.txt。所有示例项目现在都是 Spring IDE 项目,可以直接导入到 Eclipse 中。请关注 Spring IDE 团队即将推出的 Spring IDE 图形化 Web Flow 编辑器。

感谢所有让 Spring Web Flow 成为今天这样的人——那些使用它的人,提供使它更强大的反馈。享受!

此致

Spring Web Flow 团队

Keith Donald
Erwin Vervaet
Colin Sampaleanu
Juergen Hoeller
Rob Harrop

Spring IDE 1.3 发布

发行版 | Torsten Juergeleit | 2006年4月25日 | ...

尊敬的 Spring 社区:

我们很高兴地宣布 Spring IDE 1.3 已发布。

此版本的 Spring IDE 提供了一些 新功能 和大量错误修复。有关完整列表,请访问 http://springide.org/project/milestone/Release%201.3

更改

更多详细信息可在项目的网站 http://springide.org/ 上找到

使用Eclipse的更新管理器从项目的更新站点安装此版本 http://springide.org/updatesite/

如需报告错误,可以通过http://springide.org/project/newticket提交工单。

使用AspectJ和JMX的消息流跟踪

工程 | Ben Hale | 2006年4月25日 | ...

在我以前参与的一个项目中,我们有一个系统可以接收来自设备的消息,并决定是否将这些信息传递给用户。有多个决策级别,我们总是遇到的一个问题是,消息在系统中传输过程中是否丢失。

在转向Spring之前,几乎不可能回答这个问题。我们尝试过使用日志记录,但是由于需要对大量消息进行决策,这最多只能说是繁琐的。我们还尝试过使用调试器,但是……

Spring Framework 2.0 M4发布

发行版 | Juergen Hoeller | 2006年4月24日 | ...

尊敬的 Spring 社区:

我们高兴地宣布Spring 2.0 M4已发布。 下载 | 文档 | 变更日志

Spring 2.0 M4是下一代Spring的第四个里程碑版本。

新特性和值得关注的改进包括:

  • 更新的JPA支持
  • 对JDBC访问的命名参数支持
  • 改进的XML模式命名空间
  • 对FactoryBean创建对象的自动代理
  • 以及变更日志中提到的许多其他改进。

此版本还包含自M3以来发现的许多问题的修复。鼓励使用以前里程碑版本的用户进行更新。请参阅变更日志,了解所有M4更改的详细信息。

随着此版本的发布,我们即将冻结2.0生产目标的功能,只计划在2.0中加入一些进一步的功能和改进。下一个版本将是Spring 2.0候选发布版1 (RC1),计划于5月份发布。

我们还将在几天内发布1.2.8维护版本,将所有适用的修复程序从2.0 M4移植到该版本。(这已经在CVS的mbranch-1-2中可用,正在等待最终测试。)

尽情享受,并持续反馈意见!

Juergen
-----
Juergen Hoeller
Spring Framework 开发负责人
Interface21 首席架构师
http://www.springframework.org
http://www.interface21.com

Spring 2.0的JMS改进

工程 | Ben Hale | 2006年4月9日 | ...

随着Spring 1.1的发布,Spring社区首次体验了JMS支持。此支持包括异常转换、消息转换和一个类似于JdbcTemplate的模板类。此支持还处理了JMS 1.0.2和1.1规范之间的域统一。此支持的核心是JmsTemplate类及其JMS 1.0.2对应的JmsTemplate102

此支持比使用原始JMS API进行企业消息传递有了很大的改进。但是它确实有一个缺点;JmsTemplate仅支持使用JmsTemplate.receive()方法同步接收消息。这种行为对许多人来说都很好用,但是大多数用户最终都自己实现了异步消费者。简而言之,他们想要的是EJB 2中所谓的消息驱动Bean……

爱上Spring 2.0的另一个理由:拦截器组合

工程 | Ben Hale | 2006年4月9日 | ...

最近,我参与了一个项目,该项目有一个通过RMI与服务层通信的Swing客户端。服务层已标记为事务,一切似乎都运行良好。但是,每当我们在Hibernate DAO层遇到异常时,Spring都会将异常转换为运行时异常,并将其一直传播到堆栈顶部,并通过RMI连接作为RemoteException传播。每当反序列化异常时,客户端都会出现异常(与RemoteException分开)。因此决定简单地引入一个方面。任何异常……

Spring 2.0中的POJO方面:一个简单的示例

工程 | Mark Fisher | 2006年3月22日 | ...

虽然这篇文章中的内容很简单,但它实际上会让你一窥Spring 2.0中一些相当重要的新功能。我希望通过一点想象力,你能够将你在这里看到的内容应用到你自己的更不平凡的用例中。

我实际上将展示两个示例。第一个将使用一个相当简单的日志记录器


package example;

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;

public class SimpleLogger {

  private static Log log = LogFactory.getLog(SimpleLogger.class);

  public void logOneString(String s) {
    log.info…

获取Spring通讯

通过Spring通讯保持联系

订阅

领先一步

VMware提供培训和认证,以加速您的进步。

了解更多

获得支持

Tanzu Spring在一个简单的订阅中提供OpenJDK™、Spring和Apache Tomcat®的支持和二进制文件。

了解更多

即将举行的活动

查看Spring社区中所有即将举行的活动。

查看全部