Spring Framework 2.0.3 发布

发布 | Juergen Hoeller | 2007 年 3 月 9 日 | ...

尊敬的 Spring 社区:,

我们高兴地宣布,Spring 2.0.3 已经发布。

Spring 2.0 Released

 

这是 Spring 2.0 系列中的一个错误修复和增强版本,包括约 200 (!) 项改进和修复。此外,此版本引入了对 JSR-166 (java.util.concurrent) 后向移植项目的支持,以及对 JCA 1.5 (ResourceAdapter bootstrap, WorkManager support) 的基本支持,并扩展了对 IBM WebSphere 和 Oracle OC4J 的支持。

值得注意的增强功能包括 DefaultMessageListenerContainer 的动态伸缩能力以及彻底修改的脚本集成,支持更多风格的 Groovy 和 BeanShell 脚本编写,并提供了与 Spring AOP 功能的无缝交互。此版本还包括对 AspectJ 切点支持以及作用域代理功能的改进。

详情请参阅更新日志!

祝好,
Juergen
 
-----
Juergen Hoeller
Interface21 - http://www.interface21.com

Spring Web Flow 1.0.1 发布

发布 | Keith Donald | 2007 年 1 月 11 日 | ...

尊敬的 Spring 社区:,

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

 

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

发布说明

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

入门

开始使用 Spring Web Flow 的最佳方法是下载发布版本,阅读Erwin 的实用介绍,并演练示例应用。  我们建议您从 Phonebook 开始,回顾所有示例,并根据需要补充参考手册资料。该版本附带了十个示例应用,每个都展示了一组独特的产品功能。

尽情使用!

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 weaving 的支持。此外,它还重新设计了 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 引入了强大的新功能,例如 render actions (1)、evaluate actions (2)、set actions (3)、flash scope (4)、flow execution attributes (5) 和 always redirect on pause (6)。它提供了增强的文档、更好的流定义验证、智能默认值,以及用于配置流程执行引擎的完整的自定义 Spring 2.0 配置 Schema (7)。

  • (1) Render actions 在响应渲染之前执行应用行为。  当视图状态被要求进行可渲染视图选择时,或者在由重定向或浏览器刷新按钮触发的刷新时,将调用渲染动作。  下面的示例展示了一个在渲染结果视图之前执行电话簿搜索的渲染动作。

    <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) Evaluate actions 根据流程执行状态评估表达式。  表达式(默认为 OGNL-based)可以针对流程执行根 RequestContext 可访问的任何对象,包括任何作用域(例如流作用域)中的对象。  下面的示例展示了一个 evaluate-action,它在 "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) Set actions 在流程作用域等作用域类型中设置属性值。  属性可以是顶层属性或嵌套属性路径上的属性。  下面的示例展示了一个 set-action,它在 flash scope 中将 "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 Configuration Dialect 极大地简化了系统配置,并提供了强大的验证和工具支持。  现在,配置 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">
   
        <!-- Launches new flow executions and resumes existing executions. -->   
        <flow:executor id="flowExecutor" registry-ref="flowRegistry"/>
       
        <!-- Creates the registry of flow definitions for this application -->
        <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. Phonebook - 展示大多数功能(包括子流)的原始示例
  2. Sellitem - 展示带有条件转换、流程执行重定向、自定义文本字段格式和继续的向导
  3. Flowlauncher - 展示启动和恢复流程的所有可能方法
  4. Itemlist - 展示 REST 风格的 URL 和内联流
  5. Shippingrate - 展示 Spring Web Flow 与 Ajax 技术的结合使用
  6. NumberGuess - 展示有状态 Bean、evaluate actions 和“单键”流程执行重定向。
  7. Birthdate - 展示 Struts 集成
  8. Fileupload - 展示多分部文件上传、set actions 和 flash scope
  9. Phonebook-Portlet - Portlet 环境中的电话簿示例(注意流程定义如何不变)
  10. Sellitem-JSF - JSF 环境中的 sellitem 示例

要快速评估示例应用,只需

  1. 解压 spring-webflow-1.0-rc4.zip 发布归档文件
  2. 访问 projects/spring-webflow/build-spring-webflow 目录
  3. 执行 "ant dist" 目标。
  4. 请参阅 "target/artifacts" 目录,其中包含每个示例的可部署 .war 文件以及展开的 war 目录。
分别查阅发行版 readme.txt 和 projects/spring-webflow/spring-webflow-samples/readme.txt,以获取有关发布归档内容和示例的更多信息。

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

感谢所有支持此版本的用户。  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 系列已极大地成熟,受益于 9 个里程碑版本共超过 150,000 次的早期访问下载,解决了超过 750 个 JIRA 问题,其中 50 个引入了主要新功能。

有什么新特性?

我们相信三个属性概括了用户可以从 Spring 2.0 系列中期待的内容:简单强大成熟


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

这意味着您现在可以

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


Spring 2.0 的一个主要目标是让常见任务更简单。  2.0 版本也为以优雅的方式解决更困难的问题打开了令人兴奋的新途径。  在 2.0 中,您可以

  • 使用 AspectJ 简洁的切点表达式语言将自定义行为织入程序执行的多个点。
  • 接收带有事务性和线程安全保证的异步 JMS 消息。  观看演示
  • 为您的应用开发自己的 Bean Configuration Dialect
  • 以线程安全的方式从自定义作用域(如 "request" 和 "session" 作用域)注入对象。
  • 从您的 Java 应用中调用 Groovy, Beanshell 和 JRuby 脚本。
  • 使用复杂的线程和连接池选项安排任务异步运行。

2.0 版本建立在 Spring 1.x 奠定的基础上。  这个新版本提供了重大的新功能,同时尽可能保留了向后兼容性。

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

尽情使用,谢谢大家

Spring 2.0 代表了过去一年许多人累积的努力。  从 Interface21 的首席开发者 Juergen, Rob, Rick 和 Costin,到我们的支持伙伴 BEA 和 Oracle,再到社区中贡献创新、补丁、文档、错误报告和测试的许多人——这里付出了大量的辛勤努力。  我们衷心希望您在使用这个新版本时感到像我们构建它时一样愉快。  请尽情享受,并请放心:工作不会止步于此。

此致,

Spring 团队

 


其他资源

  • 参加 The Spring Experience 2006,Spring 社区的顶级会议,将于 12 月 7 日至 10 日在佛罗里达州好莱坞举行。  请在 10 月 16 日之前注册,以确保您的团队获得早鸟折扣。
  • 通过路线图跟踪未来的 Spring 2.x 开发。
  • 收藏此页面,以获取更多展示 2.0 新功能实际应用的小视频和代码示例。

Spring 2.0 Release Candidate 4 发布

发布 | Juergen Hoeller | 2006 年 9 月 17 日 | ...

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

这是 Spring 2.0 最终版之前的最后一个发布候选版本。  RC4 包括许多进一步的错误修复和各个方面的改进,以及一些小的新功能(例如在 JMS 支持中)。详情请参阅更新日志和 JIRA 问题列表。  最值得注意的更改包括...

新特性和值得注意的特性

  • 此版本为 2.0 DTD 和 XSDs 引入了版本化的文件名。如果您的 Bean 定义文件基于 2.0 XSDs 或 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">

    <!-- Define your beans here -->

</beans>

  • 正如您所料,Spring 1.2 DTD 在其既定的 spring-beans DTD 文件名下仍然得到全面支持。
  • 现在,对于我们支持的每个 Schema,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 Framework 开发负责人

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 Release Candidate 3 发布

发布 | Juergen Hoeller | 2006 年 8 月 11 日 | ...

尊敬的 Spring 社区:,

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

第三个发布候选版本包含了许多基于我们从前几个发布候选版本收到的宝贵用户反馈进行的改进。  随着此版本的发布,Spring 2.0 最终版现在就在眼前了。

最显著的改进包括

  • 已恢复 Spring 1.2 在 default-lazy-init="true" 方面的兼容性,涉及按类型检测特殊 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 抽象,这使得视图中的 Open Session/EntityManager/etc 拦截器可以在 Servlet 和 Portlet 环境中重用。因此,所有这些特定于 Portlet 的拦截器都已被新的通用拦截器(OpenSessionInViewInterceptor 等)取代。

当然,还有许多进一步的细节改进。详情请参阅更新日志文件(以及 JIRA 中的更新日志)。

如果您在使用 RC3 时遇到任何剩余问题,请告知我们。  Spring 2.0 最终版本现在就在眼前了。

Juergen Hoeller,
Spring Framework 开发负责人

订阅 Spring 通讯

订阅 Spring 通讯,保持联系

订阅

先行一步

VMware 提供培训和认证,助您快速提升。

了解更多

获取支持

Tanzu Spring 通过一项简单的订阅,为 OpenJDK™、Spring 和 Apache Tomcat® 提供支持和二进制文件。

了解更多

即将举行的活动

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

查看全部