Spring Web Flow 1.0.1 发布

发行版 | Keith Donald | 2007年1月11日 | ...

尊敬的 Spring 社区:

我们很高兴地宣布 Spring Web Flow 1.0.1 已发布。

 

Spring Web Flow 是一个下一代 Java Web 应用程序控制器框架,它允许开发人员将用户操作建模为称为流的高级模块。该框架提高了生产力和可测试性,同时提供了一个强大的解决方案来强制执行导航规则和管理应用程序状态。

发行说明

Spring Web Flow 1.0 在两个月内下载量超过 10,000 次,并被财富 500 强公司广泛使用。这是第一个 1.0 维护版本,包括自 1.0 正式版以来报告的错误修复,以及一些次要增强功能。请参阅变更日志了解所有详细信息。

入门

开始使用 Spring Web Flow 的最佳方法是下载发行版,阅读Erwin 的实用入门,并浏览示例应用程序。我们建议从电话簿开始查看所有示例,并根据需要补充参考手册资料。发行版附带十个示例应用程序,每个应用程序都演示了不同的产品功能集。

尽情享受!

Keith Donald 和 Erwin Vervaet
Spring Web Flow 项目负责人

Spring Framework 2.0.1 发布

发行版 | Juergen Hoeller | 2006年11月23日 | ...

尊敬的 Spring 社区:

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

这是 Spring 2.0 的第一个维护版本,包括自 2.0 正式版以来报告的大多数错误修复以及许多次要增强功能。此版本还引入了 OpenJPA 支持和 GlassFish 编织支持。此外,它还具有重新设计的 AspectJ 支持内部结构和改进的 bean 定义工具 SPI。

与往常一样,请参阅变更日志了解详细信息。

如果您不熟悉 Spring 2.0 系列,请参阅原始的Spring 2.0 公告了解更多信息。

仅供参考,Spring 2.0.2 版本计划于 12 月底发布。我们的 JIRA 路线图概述了计划在此版本中解决的问题。

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

Spring LDAP 1.1.1 发布

发行版 | Ulrik Sandberg | 2006年11月18日 | ...

尊敬的 Spring 社区:

我们很高兴地宣布 Spring LDAP 1.1.1 版本已发布。这是一个更新版本,添加了一些新功能并修复了 1.1 中的一些问题。下载 | 变更日志 | 文档 | API

更重要更改的摘要

  • 添加了在搜索中使用服务器端控件的功能。
  • DirContextAdapter.getNameInNamespace() 现在返回完整的 DN。
  • DistinguishedName 现在支持用“+”号分隔的多值 RDN,例如“cn=Rod+sn=Johnson”。
  • 添加了采用返回属性名称数组的查找方法。
  • 内部将 Spring 升级到 2.0。仍然支持 Spring 1.2.8。

关于 Spring LDAP
Spring LDAP 是一个 Java 库,用于简化 LDAP 操作,基于 Spring 的 JdbcTemplate 模式。该框架减轻了用户查找和关闭上下文、循环遍历 NamingEnumerations、编码/解码值和过滤器等的负担。

LdapTemplate 类封装了传统 LDAP 编程中涉及的所有管道工作,例如创建、循环遍历 NamingEnumerations、处理异常和清理资源。这使程序员能够处理重要的事情——在哪里查找数据(DN 和过滤器)以及如何处理它(映射到和来自域对象、绑定、修改、取消绑定等),就像 JdbcTemplate 减轻程序员除了实际的 SQL 和数据如何映射到域模型之外的所有负担一样。

此外,Spring LDAP 还提供从 NamingExceptions 到 DataAccessExceptions 的异常转换,以及用于处理过滤器、LDAP 路径和属性的多个实用程序。

Spring-LDAP 需要 J2SE 1.4。构建需要 J2SE 1.4。运行示例需要 J2EE 1.4(Servlet 2.3,JSP 1.2)。

从哪里开始
从上面的链接下载发行版。发行版包含广泛的 JavaDoc 文档以及完整的参考文档和一个示例应用程序,演示了使用 Spring LDAP 的不同方法。

主页
Spring LDAP 的永久主页位于http://www.springframework.org/ldap

历史
Spring LDAP 基于 SourceForge LdapTemplate 项目。建议 LdapTemplate 用户切换到 Spring LDAP。

Mattias Arthursson & Ulrik Sandberg
Spring LDAP 项目团队

Spring Web Flow 1.0 RC4 发布

发行版 | Keith Donald | 2006年10月5日 | ...
尊敬的 Spring 社区:
 
我们很高兴地宣布Spring Web Flow 1.0 RC4 已发布。
 

 

Spring Web Flow 是 Spring 社区的一个产品,专注于在 Web 应用程序中编排用户界面流程。

此版本包含许多改进和一些令人兴奋的新功能。我们认为这是迄今为止最稳定的版本,并且最终使 Spring Web Flow 1.0 正式版路线图功能完整。Spring Web Flow 1.0 正式版将于下周发布,更改极少。在此期间,我们鼓励您测试 1.0 RC4,以帮助在大型 1.0 推出之前发现任何剩余问题。

请注意,此版本中有一些会影响用户更改。1.0 RC3 或更早版本的用户应查看升级指南,其中详细介绍了这些更改。

1.0 RC4 中的新内容和值得注意的内容是一个令人兴奋的列表,包括:

新内容和值得注意的内容

作为 Spring Web Flow 1.0 正式版之前的最终候选版本,Spring Web Flow 1.0 RC4 引入了强大的新功能,例如渲染操作 (1)、评估操作 (2)、设置操作 (3)、闪存范围 (4)、流执行属性 (5) 和始终在暂停时重定向 (6)。它提供了增强的文档、更好的流定义验证、智能默认值和完整的自定义 Spring 2.0 配置模式 (7),用于配置流执行引擎。

  • (1) 渲染操作在渲染响应之前执行应用程序行为。渲染操作在视图状态被要求进行可渲染视图选择时被调用,在进入时或由重定向或浏览器刷新按钮触发的刷新时被调用。以下示例显示了一个渲染操作,它在渲染结果视图之前执行电话簿搜索。

    <view-state id="displayResults" view="searchResults">
        <render-actions>
            <bean-action bean="phonebook" method="search">
                <method-arguments>
                    <argument expression="flowScope.searchCriteria"/>          
                </method-arguments>
                <method-result name="results"/>
            </bean-action>
        </render-actions>
        <transition on="newSearch" to="enterCriteria"/>
        <transition on="select" to="browseDetails"/>
    </view-state>

  • (2) 评估操作根据流执行状态评估表达式。表达式(默认情况下基于 OGNL)可以针对从流执行的根 RequestContext 可访问的任何对象,包括任何范围中的对象,例如流范围。以下示例显示了一个评估操作,它在“game”流范围 bean 上调用“makeGuess”方法
    <action-state id="makeGuess">
        <evaluate-action expression="flowScope.game.makeGuess(requestParameters.guess)">
            <evaluation-result name="guessResult"/>
        </evaluate-action>
        <transition on="CORRECT" to="showAnswer"/>
        <transition on="*" to="enterGuess"/>
        <transition on-exception="java.lang.NumberFormatException" to="enterGuess"/>
    </action-state>
  • (3) 设置操作设置范围类型(例如流范围)中的属性值。属性可以是顶级属性或嵌套属性路径中的属性。以下示例显示了一个设置操作,它将闪存范围中的“fileUploaded”属性设置为“true”。
    <action-state id="uploadFile">
        <action bean="uploadAction" method="uploadFile"/>
        <transition on="success" to="selectFile">
            <set attribute="fileUploaded" scope="flash" value="true"/>
        </transition>
    </action-state>
  • (4) Flash scope 是一种新的作用域类型,用于在重定向和任何视图刷新期间持久化属性。 当发出事件以从视图转换出去时,flash scope 将被清除。以下完整的流程定义示例展示了如何使用 flash scope 将“fileUploaded”属性暴露给 selectFile 视图状态,以便在成功上传后显示成功消息。
    <flow xmlns="http://www.springframework.org/schema/webflow"
            xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
            xsi:schemaLocation="http://www.springframework.org/schema/webflow
                                           http://www.springframework.org/schema/webflow/spring-webflow-1.0.xsd">
   
        <start-state idref="selectFile"/>
       
        <view-state id="selectFile" view="fileForm">
            <transition on="submit" to="uploadFile"/>
        </view-state>
   
        <action-state id="uploadFile">
            <action bean="uploadAction" method="uploadFile"/>
            <transition on="success" to="selectFile">
                <set attribute="fileUploaded" scope="flash" value="true"/>
            </transition>
        </action-state>
       
    </flow>
  • (5) 流程执行属性允许您设置可以影响流程执行行为的自定义属性。以下示例显示了一条指令,用于在 Portlet 环境(其中重定向通常不适用)中将“alwaysRedirectOnPause”属性设置为 false。
    <flow:executor id="flowExecutor" registry-ref="flowRegistry">
        <flow:execution-attributes>
            <flow:alwaysRedirectOnPause value="false"/>
        </flow:execution-attributes>
    </flow:executor>
  • (6) “在暂停时始终重定向” 为您提供默认的 POST+REDIRECT+GET 行为,无需特殊编码。现在,默认情况下,当进入视图状态时,会自动发出重定向。这会触发对流程执行 URL 的刷新,该 URL 在会话处于活动状态时保持稳定。
  • (7) 新的 Spring 2.0 配置方言极大地简化了系统配置,并提供了强大的验证和工具支持。现在,配置 Webflow 的基础结构就像定义两个元素一样简单,如下所示
    <?xml version="1.0" encoding="UTF-8"?>
    <beans xmlns="http://www.springframework.org/schema/beans"
           xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
           xmlns:flow="http://www.springframework.org/schema/webflow-config"
           xsi:schemaLocation="
               http://www.springframework.org/schema/beans
               http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
               http://www.springframework.org/schema/webflow-config
               http://www.springframework.org/schema/webflow-config/spring-webflow-config-1.0.xsd">
   
        <!-- 启动新的流程执行并恢复现有执行。 -->   
        <flow:executor id="flowExecutor" registry-ref="flowRegistry"/>
       
        <!-- 创建此应用程序的流程定义注册表 -->
        <flow:registry id="flowRegistry">
            <flow:location path="/WEB-INF/flows/**-flow.xml"/>
        </flow:registry>
       
    </beans>

有关这些功能的更多信息,请参见参考手册。Spring Web Flow 1.0 RC4 进一步完善了参考文档,提供了 70 页关于 SWF 用法的资料。该手册可在线获取,格式为 HTMLPDF

入门

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

  1. 电话簿 - 演示大多数功能(包括子流程)的原始示例
  2. 销售商品 - 演示带有条件转换、流程执行重定向、自定义文本字段格式和延续的向导
  3. 流程启动器 - 演示启动和恢复流程的所有可能方法
  4. 项目列表 - 演示 REST 样式的 URL 和内联流程
  5. 运费 - 演示 Spring Web Flow 与 Ajax 技术的结合使用
  6. 数字猜测 - 演示有状态 bean、评估操作和“单键”流程执行重定向。
  7. 出生日期 - 演示 Struts 集成
  8. 文件上传 - 演示多部分文件上传、设置操作和 flash scope
  9. 电话簿-Portlet - Portlet 环境中的电话簿示例(请注意流程定义没有更改)
  10. 销售商品-JSF - JSF 环境中的销售商品示例

要构建示例应用程序以进行快速评估,只需

  1. 解压 spring-webflow-1.0-rc4.zip 发行版存档
  2. 访问 projects/spring-webflow/build-spring-webflow 目录
  3. 执行“ant dist”目标。
  4. 在“target/artifacts”目录中查看每个示例的可部署 .war 文件以及已展开的 war 目录。
分别参见“release readme.txt”和“projects/spring-webflow/spring-webflow-samples/readme.txt”,了解发行版存档内容和示例的更多信息。

所有示例项目都是 Spring IDE 项目,可以直接导入到 Eclipse 中。

感谢所有支持此发行版的人。Spring Web Flow 1.0 现在……终于……即将到来。

尽情享受!

Spring Web Flow 团队

Spring 2.0 正式发布

发行版 | Rod Johnson | 2006 年 10 月 3 日 | ...

我们很高兴地宣布,期待已久的 Spring Framework 2.0 正式版现已发布。

Spring 2.0 Released

下载 | 文档 | 变更日志 

作为领先的全栈 Java/Java EE 应用程序框架,Spring 为许多项目带来了显著好处,降低了开发工作量和成本,同时提高了测试覆盖率和质量。

经过 9 个月的积极开发,这个稳定、生产级的版本终于发布。在短短的时间内,Spring 2.x 系列已经发展成熟,受益于超过 150,000 次早期访问下载(跨越 9 个里程碑版本),解决了 750 多个 JIRA 问题,其中 50 个引入了主要的新功能。

新增功能?

我们认为三个属性可以概括我们的用户可以从 Spring 2.0 系列中期待什么:简单强大可靠


2.0 版为框架的整体使用模型带来了重大简化。正如我们现有用户所知,Spring 的核心是Bean 容器,它驱动 Java 和 Java EE 应用程序的配置。在 2.0 版中,通过引入自定义的Bean 配置方言,简化了许多常见的配置任务。这对您意味着什么?

这意味着您现在可以

  • 用一行配置代码使您的业务服务具有事务性。
  • 用一行配置代码从 JNDI 中查找对象。
  • 用一行配置代码将外部属性暴露给您的服务。
  • 使用单个注解将一致的异常处理策略应用于您的数据访问对象。
  • 通过定义单个配置标签来调用无状态远程 EJB。无需更多自定义服务定位器或业务代理。
简化工作贯穿于框架的各个模块,使您可以
  • 用一行代码编写参数化的 JDBC 查询。
  • 在部署 Spring MVC 控制器时应用约定优于配置
  • 使用 Spring JSP 标签来减少开发输入表单时的输入量。


Spring 2.0 的一个主要目标是简化常见任务。2.0 版还为优雅地解决更棘手的问题开辟了令人兴奋的新途径。在 2.0 中,您可以

  • 使用 AspectJ 简洁的切点表达式语言将自定义行为编织到程序执行的多个点。
  • 接收具有事务性和线程安全保证的异步 JMS 消息。 查看实际演示
  • 为您的应用程序开发您自己的Bean 配置方言
  • 以线程安全的方式注入来自自定义范围(例如“请求”和“会话”范围)的对象。
  • 从您的 Java 应用程序调用 Groovy、Beanshell 和 JRuby 脚本。
  • 安排任务以异步运行,并具有复杂的线程和池选项。

2.0 版是在 Spring 1.x 建立的基础上构建的。这个新版本提供了主要的新功能,同时尽可能地保持向后兼容性。

自 2004 年 3 月发布以来,Spring 1.x 已经有超过一百万次下载,它使从普通的 Java 对象 (POJO) 开发复杂的应用程序成为事实上的标准。2.x 系列在此广为认可的最佳实践的基础上构建,提供了新的简化和强大功能,同时保持与已建立的 Spring 1.x 系列的完全兼容性。用户可以预期他们的升级将非常简单;在大多数情况下,只需将 1.2.8 JAR 文件替换为 Spring 2.0 中包含的文件即可。

享受,谢谢您

Spring 2.0 代表了过去一年中许多人的共同努力。从 Interface21 的主要开发者 Juergen、Rob、Rick 和 Costin,到我们的支持合作伙伴 BEA 和 Oracle,再到社区中许多贡献创新、补丁、文档、错误报告和测试的人——这里充满了汗水和泪水。我们真的希望您会发现这个新版本像我们构建它一样好用。享受它,并放心:工作不会就此停止。

此致

Spring 团队

 


其他资源

  • 参加 2006 年 Spring 体验大会,这是 Spring 社区的主要会议,将于 12 月 7 日至 10 日在佛罗里达州好莱坞举行。在 10 月 16 日之前注册,以确保您的团队获得早鸟折扣。
  • 使用路线图跟踪未来的 Spring 2.x 开发。
  • 为展示新 2.0 功能的更多屏幕录像和代码示例的推出,请收藏此页面

Spring 2.0 发布候选版 4 发布

发行版 | Juergen Hoeller | 2006年9月17日 | ...

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

这是 Spring 2.0 正式版之前的最后一个发布候选版本。RC4 包含许多进一步的错误修复和各个领域的改进,以及次要的新功能(例如在 JMS 支持中)。请参阅变更日志和JIRA问题列表以了解所有详细信息。最显著的变化包括……

新内容和值得注意的内容

  • 此版本为 2.0 DTD 和 XSD 引入了版本化文件名。如果您的 bean 定义文件基于 2.0 XSD 或 2.0 特定的 DTD 功能,请调整它们。例如

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
            xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
            xsi:schemaLocation="
                http://www.springframework.org/schema/beans
                http://www.springframework.org/schema/beans/spring-beans-2.0.xsd">

    <!-- 在此处定义您的 bean -->

</beans>

  • 正如您所料,Spring 1.2 DTD 在其已建立的 spring-beans DTD 文件名下仍然完全受支持。
  • 现在,我们支持的每个模式都对 2.0 XML 配置元素和属性进行了完整记录。特别感谢 Rick Evans 为此做出的贡献。
  • 从本版本开始,Apache OJB 支持 (org.springframework.orm.ojb) 不再与 Spring 核心发行版一起提供。它现在可从Spring Modules项目获得。
  • Spring 的 JPA 支持现在已针对 Oracle TopLink Essentials v2 b16 和 Hibernate EntityManager 3.2.0 CR2 进行了全面测试。我们广泛的集成测试套件现在都通过了这两个 JPA 提供程序的测试。我们目前正在以同样的方式涵盖 OpenJPA。

我们期待您对此版本的反馈。

享受!

Juergen Hoeller
Spring 框架开发负责人

Spring LDAP 1.1 发布

发行版 | Mattias Arthursson | 2006年8月28日 | ...

尊敬的 Spring 社区:

我们很高兴地宣布 Spring LDAP 1.1 版本已发布。这是该库作为 Spring Framework 子项目的第一个版本。下载 | 文档 | API

关于 Spring LDAP
Spring LDAP 是一个 Java 库,用于简化 LDAP 操作,基于 Spring 的 JdbcTemplate 模式。该框架减轻了用户查找和关闭上下文、循环遍历 NamingEnumerations、编码/解码值和过滤器等的负担。

LdapTemplate 类封装了传统 LDAP 编程中涉及的所有管道工作,例如创建、循环遍历 NamingEnumerations、处理异常和清理资源。这使程序员能够处理重要的事情——在哪里查找数据(DN 和过滤器)以及如何处理它(映射到和来自域对象、绑定、修改、取消绑定等),就像 JdbcTemplate 减轻程序员除了实际的 SQL 和数据如何映射到域模型之外的所有负担一样。

此外,Spring LDAP 还提供从 NamingExceptions 到 DataAccessExceptions 的异常转换,以及用于处理过滤器、LDAP 路径和属性的多个实用程序。

Spring-LDAP 需要 J2SE 1.4。构建需要 J2SE 1.4。运行示例需要 J2EE 1.4(Servlet 2.3,JSP 1.2)。

从哪里开始
从上面的链接下载发行版。发行版包含广泛的 JavaDoc 文档以及完整的参考文档和一个示例应用程序,演示了使用 Spring LDAP 的不同方法。

主页
Spring LDAP 的永久地址是http://www.springframework.org/ldap

历史
Spring LDAP 基于 SourceForge LdapTemplate 项目。建议 LdapTemplate 用户切换到 Spring LDAP。

Mattias Arthursson & Ulrik Sandberg
Spring LDAP 项目团队

Spring 2.0 发布候选版 3 发布

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

尊敬的 Spring 社区:

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

这个第三个发布候选版本包含许多基于我们从以前的发布候选版本收到的宝贵用户反馈的改进。通过此版本,Spring 2.0 正式版即将发布。

最重要的改进包括

  • 针对默认 lazy-init="true" 恢复了 Spring 1.2 兼容性,关于按类型检测特殊 bean(例如 PropertyPlaceholderConfigurers)。同时,重做了延迟类加载以允许类名等中的占位符。对于特殊的 ApplicationContexts,仍然可以强制执行严格的延迟类加载。
  • 基于 @Repository 注解的持久性异常转换现在也适用于 Hibernate3、JDO 和 TopLink,而不仅仅是 JPA。异常转换现在尽可能基于底层 ORM 工具的本机异常,只有在显式指定时才应用 Spring 特定的 SQLException 转换。
  • 在我们的 JMS 支持中,DefaultMessageListenerContainer 功能改进了资源处理(也适用于 JBoss 4.0),并且能够从损坏的连接或目标中恢复。JMS 资源的缓存现在是完全可配置的,对于 XA 和非 XA 场景都具有合理的默认值。此外,JmsTemplate 在 JTA 事务中重用缓存的 JMS 资源。
  • Servlet 和 Portlet Web MVC 现在支持通用的 WebRequestInterceptor 抽象,这允许在 Servlet 和 Portlet 环境中重用视图拦截器中的 Open Session/EntityManager/等。因此,所有此类 Portlet 特定的拦截器都被新的通用拦截器(OpenSessionInViewInterceptor 等)取代。

当然,细节方面还有许多其他的改进。请参阅变更日志文件(以及 JIRA 中的变更日志)以了解详细信息。

请告知您在 RC3 中遇到的任何剩余问题。Spring 2.0 正式版即将发布。

Juergen Hoeller,
Spring 框架开发负责人

Spring 2.0 RC2 发布

发行版 | Juergen Hoeller | 2006年7月6日 | ...

尊敬的 Spring 社区:

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

这是通往 Spring 2.0 正式版的第二个发布候选版本。它引入了许多错误修复和细微改进,尤其是在 AOP 框架和 JPA 支持方面。请参阅变更日志了解详细信息。即将发布的 2.0 RC3 版本将解决一些其他已知问题;请参阅我们的 JIRA 路线图了解详细信息。

请尝试在您的应用程序中使用此版本,并告知我们遇到的任何问题!必须强调的是,Spring 2.0 向后兼容 Spring 1.x 系列。Spring 2.0 继续支持JDK 1.3+J2EE 1.3+(甚至 J2EE 1.2+,除了 JSP 标记和 EJB 支持)。兼容性对我们的用户群至关重要,我们致力于提供它。因此,我们也很有兴趣了解任何此类平台上潜在的兼容性问题。

感谢您在此版本发布前提供的所有反馈。我们期待在大型 2.0 GA 发布日期之前获得更多类似的反馈!

享受!

Juergen Hoeller
Spring 2.0 产品开发负责人

获取 Spring 新闻通讯

通过 Spring 新闻通讯保持联系

订阅

领先一步

VMware 提供培训和认证,以加快您的进度。

了解更多

获得支持

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

了解更多

即将举行的活动

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

查看全部