Spring Framework 1.0 最终版发布

发布 | Thomas Risberg | 2004年3月24日 | ...

我们很高兴地宣布 Spring Framework 1.0 最终版 已经发布。

1. 范围

Spring 1.0 是一个完整的 Java/J2EE 应用程序框架,涵盖以下功能
  • 目前可用的最复杂的轻量级容器,具有各种 setter 和构造器注入方式
  • 基于 AOP Alliance 接口的 AOP 拦截框架,与核心容器集成
  • JNDI 支持类,允许轻松将 Spring 管理的 bean 与 JNDI 定位的对象连接
  • 应用程序上下文概念,提供资源加载和消息访问抽象
  • 具有可插拔策略的通用事务管理,支持声明式和编程式定界
  • 支持源代码级别的元数据,以 Commons Attributes 作为默认实现(例如,对于事务属性)
  • 通用 DAO 支持,提供用于任何数据访问策略的通用数据访问异常层次结构
  • JDBC 抽象,简化了资源和错误处理,还涵盖 BLOB/CLOB 支持
  • Hibernate 支持,提供 SessionFactory 管理和事务范围的 ThreadLocal Sessions
  • 支持 JDO 1.0 和 iBATIS SQL Maps 1.3/2.0 的类,与 Spring 的事务管理集成
  • 邮件发送器抽象,特别支持 JavaMail,包括方便的文件附件处理
  • 支持 Quartz 和 Timer 的调度,可以轻松调用 Spring 管理的 bean 的方法
  • 支持 RMI、JAX-RPC 和 Caucho 的 Hessian/Burlap 的远程处理,以便轻松公开 Spring 管理的 bean
  • 用于访问和实现 EJB 的便利类,包括本地和远程
  • Web 应用程序上下文,用于在 Web 环境中加载 Spring 应用程序上下文
  • 灵活的 Web MVC 框架,建立在策略接口之上,并与各种视图技术集成

Spring 的一个独特优势是可以将声明式事务应用于任何 POJO,使用 JTA 或本地事务策略:这允许在任何类型的环境中拥有轻量级的事务性业务对象,例如在运行在普通 Tomcat 上的 Web 应用程序中。 Spring 的事务管理还能够管理相关的资源,例如 Hibernate Sessions,从而避免了自定义 ThreadLocal Sessions 的负担。

基于资源管理基础设施,Spring 的 HibernateTemplate 显著简化了基于 Hibernate 的 DAO 的实现,将典型的数据访问操作减少为单个语句。 Spring 的 JdbcTemplate 以类似的方式提供了 JDBC 的便利性,而 SqlMapTemplate 或 SqlMapClientTemplate 分别为 iBATIS SQL Maps 1.3/2.0 提供了便利性。

Spring 的一个重要特征是,它的许多功能都可以单独使用,而无需采用完全基于 Spring 的架构。 此外,Spring 管理的中间层及其提供的所有功能可以在任何类型的环境中重用,无论是具有 Spring Web MVC、Struts、WebWork 或 Tapestry Web 层的 J2EE Web 应用程序,还是具有 Swing 用户界面的独立应用程序。

2. 示例和用法

Spring 发行版附带了许多示例应用程序。“-with-dependencies”下载包括构建和运行它们所需的所有第三方库。
  • 我们的 JPetStore,使用 Spring 管理的中间层和替代的 Spring/Struts Web 层来调整 iBATIS JPetStore
  • Petclinic,一个简单的数据库驱动的 Web 应用程序,提供替代的 Hibernate/JDBC 数据访问策略
  • Countries,一个 Web 应用程序,说明了区域设置和主题处理,以及 PDF 和 Excel Web 视图的生成
  • Image Database,一个单屏 Web 应用程序,说明了 BLOB/CLOB 处理和 Velocity/FreeMarker Web 视图
  • Tiles Example,演示了 Tiles 与 Spring 的 Web MVC 框架的结合使用
Spring 已经用于大量生产应用程序,包括关键任务应用程序。 当前的采用者包括欧洲和美国的许多大型银行和医疗保健组织。 在公开可见的应用程序中,Spring 的值得注意的用法是
  • Matt Raible 的 AppFuse 应用程序框架,采用 Spring 作为中间层框架,并使用 Struts Web 层
  • Atlassian 的新产品 Confluence,建立在 Spring 中间层和 WebWork2 Web 层之上

3. 升级

从 Spring 1.0 里程碑或候选版本升级的用户,请参阅 变更日志;详细信息进行了一些改进。 自 1.0 RC2 以来的更改包括
  • AOP 支持已升级到 AOP Alliance 1.0
  • BeanWrapperImpl 中对索引和映射属性的更复杂的处理
  • 新的 ResourceLoader 接口,由 ApplicationContext 接口扩展
  • ReloadableResourceBundleMessage 支持可配置的字符编码
  • MimeMessageHelper 支持可配置的字符编码
  • JdbcTemplate 具有新的通用 "execute" 方法和改进的 "query" 方法
  • iBATIS SQL Maps 2.0 支持已升级到 SQL Maps 2.0 RC1
  • 增加了对 FreeMarker 2.3 的支持
请注意以下关于 AOP 支持的升级问题
  • 您必须更新您的 aopalliance.jar
  • AdvisorAutoProxyCreator 已重命名为 DefaultAdvisorAutoProxyCreator
  • TransactionAttributeSourceTransactionAroundAdvisor 已重命名为 TransactionAttributeSourceAdvisor
  • 自定义 Advisor 实现:getAdvice() 现在返回 org.aopalliance.aop.Advice 而不是 Object
  • 如果您实现了 org.springframework.aop.MethodAfterReturningAdvice,请替换为 AfterReturningAdvice(方法签名没有变化)
该版本可以从 此处 下载

获取 Spring 新闻通讯

随时了解 Spring 新闻通讯

订阅

遥遥领先

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

了解更多

获取支持

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

了解更多

即将举行的活动

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

查看全部