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 的形式,以及分別以 SqlMapTemplate 和 SqlMapClientTemplate 的形式,為 JDBC 和 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,採用 iBATIS JPetStore,具有 Spring 管理的中介層和替代的 Spring/Struts Web 層
  • 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 社群中所有即將到來的活動。

查看全部