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 会话
  • 对 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 会话,避免自定义 ThreadLocal 会话的负担。

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

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 示例,演示了在 Spring 的 Web MVC 框架中使用 Tiles
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 社区中所有即将举行的活动。

查看全部