Spring 2.0 Maven POM 已準備就緒

工程 | Ben Hale | 2006年10月4日 | ...

在眾多釋出日里,這是關於 Spring 2.0 的最後一個公告。Spring 2.0 的 Maven POMs 已上傳到 Spring 的私有倉庫。如果想直接指向它,請檢視 https://svn.sourceforge.net/svnroot/springframework/repos/repo/。如果願意等待,它們應該會在接下來的幾天內複製到 Ibiblio Maven 倉庫。

對於那些喜歡使用更多元資料進行瀏覽的使用者,SourceForge 的 ViewVC 介面是一個不錯的選擇。請記住,您應該使用前一個連結作為 Maven 的 URL,而使用後一個連結進行瀏覽。


更新於 10/3 22:03:添加了關於 ViewVC 的段落

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 個里程碑版本超過 15 萬次的搶先體驗下載,解決了超過 750 個 JIRA 問題,其中 50 個引入了重要的ories 新功能。

新特性?

我們相信三個特性概括了使用者可以從 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,再到社群中貢獻創新、補丁、文件、bug 報告和測試的許多人——這裡凝聚了大量的汗水和辛勤工作。  我們真心希望您在使用這個新版本時能像我們構建它一樣感到快樂。  請盡情享用,請放心:工作不會止步於此。

誠摯地,

Spring 團隊

 


更多資源

  • 參加於12月7日至10日在佛羅里達州好萊塢舉行的 2006 Spring Experience 大會,這是 Spring 社群的頂級盛會。  在10月16日前註冊可為您的團隊獲得早鳥折扣。
  • 透過路線圖跟蹤未來的 Spring 2.x 開發。
  • 收藏此頁,以獲取更多展示 2.0 新功能的截圖影片和程式碼示例。

利用泛型元資料

工程 | Rob Harrop | 2006年9月29日 | ...

我在與客戶交流時,常聽到一種普遍的誤解,認為所有泛型型別資訊都已從 Java 類檔案中擦除。這完全是錯誤的。所有靜態泛型資訊都會被保留,只有關於個體例項的泛型資訊會被擦除。所以如果我有一個類 Foo 實現了 List<String>,那麼我可以在執行時確定 Foo 實現了由 String 引數化的 List 介面。然而,如果我在執行時例項化一個 ArrayList<String> 的例項,我無法透過該例項確定其具體的型別引數(我可以確定 ArrayList 需要型別引數)。在這篇文章中,我將向您展示一些可用泛型元資料的實際用法,這些元資料簡化了根據它們處理的物件型別而不同的策略介面和實現的建立。

我在許多應用程式中看到的一種模式是使用某種策略介面,每個具體的實現都處理特定的輸入型別。例如,考慮一個投資銀行領域的簡單場景。任何上市公司都可以釋出公司行動,從而對其股票產生實際變化。一個關鍵例子是股息支付,它按每股向所有股東支付一定金額的現金、股票或財產。在投資銀行內部,接收這些事件通知並計算由此產生的權益非常重要,以保持交易賬簿的股票和現金價值準確無誤。

舉個具體例子,考慮持有 1,200,000 股 IBM 股票的 BigBank。IBM 決定派發每股 0.02 美元的股息。因此,BigBank 需要接收股息行動的通知,並在適當的時間更新其交易賬簿以反映額外的 24,000 美元現金收入。

權益的計算將根據執行的公司行動型別而大不相同。例如,合併很可能導致一家公司的股票損失和另一家公司的股票收益。

如果我們考慮這在 Java 應用程式中會是什麼樣子,我們可以假設會看到像下面這樣(大幅簡化)的例子


public class CorporateActionEventProcessor {

    public void onCorporateActionEvent(CorporateActionEvent event) {
        // do we have any stock for this security?

        // if so calculate our entitlements
    }
}

關於事件的通知可能透過多種機制從外部方傳入,然後傳送到這個 CorporateActionEventProcessor 類。CorporateActionEvent 介面可能透過多個具體類來實現


public class DividendCorporateActionEvent implements CorporateActionEvent {

    private PayoutType payoutType;
    private BigDecimal ratioPerShare;

    // ...
}

public class MergerCorporateActionEvent implements CorporateActionEvent {

    private String currentIsin; // security we currently hold
    private String newIsin; // security we get
    private BigDecimal…

波士頓 Spring 小組首次會議

工程 | Mark Fisher | 2006年9月25日 | ...

我非常高興地宣佈,新英格蘭 Java 使用者組內的 Spring 特別興趣小組 (SIG) 將於本週四(2006年9月28日)舉行首次會議。Ramnivas Laddad(《AspectJ in Action》作者和 Interface21 主任)將發表題為“AspectJ for Spring Developers”的演講。這將是瞭解 Spring 2.0 中 AspectJ 整合增強功能的好機會。

您可以在此處閱讀詳細資訊,如果您打算參加,請務必點選頁面左側的“註冊”連結。

這個小組將為“所有 Spring 相關事物”提供一個很棒的論壇,並且最初將大約每季度舉行一次會議。我期待著建立一個社群,並親自會見波士頓地區的 Spring 使用者。

特別感謝 NEJUG 主席 Steven Maienza 以及那些在我搬到波士頓之前就表示有興趣成立 Spring 小組並促成此事的 NEJUG 成員。謝謝!

好久不見,沒寫部落格

工程 | Rod Johnson | 2006年9月22日 | ...

歡迎來到我的新部落格!我自 2004 年 8 月以來就沒有寫過部落格,但受到我們新團隊部落格的啟發,想嘗試提升一下水平。我也因同事們的部落格熱情而感到慚愧。

目前我對許多話題感到非常興奮,並承諾將來會比每兩年一次的頻率寫部落格多得......敬請期待我關於 Spring 2.0 及後續、OO 設計、AOP 和企業 Java 未來發展的思考。

在此期間,我將分享我未來幾個月的旅行計劃(這至少可以作為我不能總是定期發帖的藉口)

  • 10月1日至6日:在丹麥奧胡斯參加 JAOO 大會
  • 10月10日至11日:在布拉格參加 BEAWorld 活動。永遠是一座美麗的城市,儘管布拉格不再是一個廉價的目的地。
  • 10月23日:在舊金山舉行的 Oracle Develop 活動上發表關於 Spring 2.0 的主題演講,這是 Oracle Open World 大會的新組成部分。這看起來將是一個大型會議。
  • 11月:我大部分時間將在澳大利亞度過,部分是為了探親訪友,部分是因為 Interface21 在那裡開設了一個新辦事處,由 Acegi Security 負責人 Ben Alex 領導。我將在各種活動上發表演講,包括悉尼和布里斯班的 Spring 使用者組,悉尼 JUG 和墨爾本的一個論壇。
  • 11月27日至28日:在新加坡參加 JAX Asia 大會。這是一個新的會議。德國的 JAX 會議規模很大,內容也很有趣,所以我很期待。時機非常巧合,這正是我從悉尼返回倫敦的時候,所以我正好在這一區域......雅加達也有一場 JAX 會議,但我未來幾個月的旅行耐受度已經達到極限,實在無法參加了。
  • 12月7日至10日:這將是最有趣的一場活動。Spring Experience,在佛羅里達州好萊塢舉行。今年我們預計將有超過 500 名開發者參加,並且像往常一樣有優秀的演講者。Keith 與 No Fluff Just Stuff 著名的 Jay Zimmerman 一起,正在組織這場活動,做得非常出色。
  • 12月11日至15日:在安特衛普參加 JavaPolis 會議。這是一個大型歐洲會議,對參會者來說非常有價值,並且總是有頂級的演講陣容——大概是因為組織者 Stephan Janssen 似乎認識 Java 社群中所有重要人物。當然,比利時也總是值得一遊,即使只是為了啤酒。我特別喜歡比利時白啤酒。
哎呀。光是寫這份清單就讓我感到疲憊。幸運的是,過去幾個月我的飛行次數比往常少得多,所以我避開了英國機場的延誤和限制。但很明顯,到 12 月底,我將非常需要休息……

謝謝!Spring Framework 下載量突破 100 萬

工程 | Rod Johnson | 2006年9月22日 | ...

幾周前,Spring Framework 專案在 SourceForge 上的主頁下載量突破 100 萬次。實際總數可能更高,因為這個數字不包括每夜構建或 Spring 可以從其他站點下載的次數。當然,Spring 也包含在大量不斷增長的其他產品的發行版中。還有 Spring.NET

最重要的是,Spring 繼續保持勢頭:下載量正在非常迅速地增長。Spring 下載量最多的版本是最近的生產版本 1.2.8,下載量已達 175,000 次……

Spring 和 Maven 後續

工程 | Ben Hale | 2006年9月18日 | ...

對於我相當多的討論。這些討論都非常好且有價值,但我確實想澄清一下我提出的一些觀點。最近關於 Spring 和 Maven 的公告

首先也是最重要的是,我們致力於支援選擇 Maven 作為其構建系統的 Spring 使用者。這意味著我們將從 Spring 2.0 RC4 開始,確保每個 Spring 版本都在 Maven 倉庫中提供準確的 POM。這就是世界上最受歡迎的 JIRA 問題的全部內容。僅此而已。

Spring 自身內部構建系統的話題是一個……

Spring 2.0 第 4 個候選版本釋出

釋出 | Juergen Hoeller | 2006年9月17日 | ...

我們很高興宣佈 Spring 2.0 RC4 已釋出。  下載 | 文件 | 更新日誌

這是 Spring 2.0 正式版釋出前的最後一個候選版本。  RC4 包含了許多進一步的 bug 修復和各領域的改進,以及一些 minor 新功能(例如 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 檔名下仍然得到全面支援。
  • 現在,我們支援的每個 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 2.0 RC4 釋出:關於 DTD/Schema 重新命名和 Scope 屬性的提醒

工程 | Colin Sampaleanu | 2006年9月17日 | ...

Spring Framework 2.0 RC4 已釋出。這是 Spring 2.0 正式版釋出前的最後一個候選版本,您可以從釋出公告本身以及 JIRA 問題列表瞭解此版本中所有更改的完整列表。

可能最需要注意的一點是,此版本為 2.0 DTD 和 Schema (XSD) 引入了帶版本的檔名/位置名。這是必需的,因為 2.0 的 XML bean 定義格式得到了顯著增強,但 1.2.x 的使用者仍然需要能夠引用 1.2.8 DTD。這裡是一個使用 2.0 "beans" schema 的例子(2.0 還附帶了許多其他新 schema,代表各種特殊的名稱空間……

是的,我知道它現在是 JIRA 中得票最多的問題了!

工程 | Ben Hale | 2006年9月15日 | ...

您能猜出是什麼嗎?如果您猜是 Spring 的 Maven bundle/構建,您就贏了。12 月份來 Spring Experience 大會見我,我們將一起享用一杯冰鎮飲料作為您的獎品。

我的錯

在我過去的職業生涯中,我做了很多關於配置管理和構建系統的工作。當我剛到 Interface21 時,我立刻主動提出盡我所能地幫助構建基礎設施。接著,我就發現 Spring 和 Spring Web Flow 中所有與 Maven 相關的工單都分配給了我。然後,由於我對 JIRA 自身的懈怠態度,我讓這個問題變得非常緊迫。在過去幾個月裡,關於 Spring 和 Maven 的事情確實取得了進展;有些事情我本應該在 JIRA 中釋出,但沒有。這導致過去幾天在主 JIRA 問題上出現了一些合理的抱怨。因此,為了讓大家瞭解最新進展,以下是當前的狀態。

狀態

對於過去幾個月對 Spring 2.0 和 Maven 感到絕望的各位,你們不會再絕望太久了。Spring 社群已決定逐步將所有 Spring 專案遷移到 Maven。您可能知道,Acegi 已經使用 Maven 很長時間了。最近,Spring-WS 專案也完成了遷移。我個人已經原型化了 Spring Web Flow 的遷移,並且大家普遍同意 Spring 也將遷移。

話雖如此,現在還不是慶祝的時候。遷移最後兩個專案(Spring 和 Spring Web Flow)並非易事(如果您不相信,只需看看《Better Builds with Maven》)。因此,在重要的 2.0 和 1.0 版本釋出臨近之時,我們並不真正想進行這項遷移。我可以告訴您的是,這項遷移是計劃在版本釋出後實現的目標。

那麼計劃是什麼?

其實很簡單。在接下來的幾周裡,我將為 Spring 和 Spring Web Flow 手動構建包含依賴列表的 POM 檔案。目前的計劃是在 Spring 和 Spring Web Flow 的最終版本中一起釋出這些 POM 檔案。版本釋出後,在 Arjen 的幫助下,我將協助 Juergen 和 Keith 將他們的原始碼樹轉換為 Maven 構建,並在 Continuum 中執行這些構建。

那麼,在此期間,作為使用者的我可以做些什麼呢?

首先要做的是保持耐心。對於這個問題我們沉默了這麼久,這是我的錯,希望這篇帖子能為我們的思考過程帶來一些透明度。其次,我非常希望得到測試方面的幫助。我的計劃是在我工作時將試用的 POM 檔案提交到 CVS 和 SVN,並在 JIRA 問題中宣佈已進行了更改。正如您所猜到的,手動建立 POM 檔案容易出錯(這是推動使用 Maven 構建的一個主要因素),所以我非常希望能有人幫助測試它們。JIRA 中的評論、論壇上的帖子以及開發者郵件列表上的帖子都是很好的反饋渠道。

還有其他您想了解的嗎?

再次,我希望這能幫助減輕社群的一些沮喪情緒,並讓您瞭解我們未來的方向。當然,非常歡迎對當前計劃提出任何意見(在這裡評論是個不錯的選擇),但我也想知道您是否還有其他問題或讓您感到沮喪的問題。如果您在下方留言或直接給我發郵件,我將盡力給您一個好的答覆,並在此部落格上釋出或透過電子郵件直接回復您。

獲取 Spring 新聞郵件

訂閱 Spring 新聞郵件保持聯絡

訂閱

領先一步

VMware 提供培訓和認證,助您加速前進。

瞭解更多

獲取支援

Tanzu Spring 透過一份簡單的訂閱,提供 OpenJDK™、Spring 和 Apache Tomcat® 的支援和二進位制檔案。

瞭解更多

即將舉行的活動

檢視 Spring 社群所有即將舉行的活動。

檢視全部