Spring 2.0 最終版,首日下載量超過 10,000 次

工程 | Rod Johnson | 2006 年 10 月 05 日 | ...

Spring 2.0 已於週二釋出最終版!這是 Spring 團隊 9 個月辛勤工作以及大量使用者反饋(感謝!)的成果,也是向前邁出的重要一步。

我保證我的下一篇部落格不會再討論下載量。我最近一直在嘗試一些有趣的方法來測試 @AspectJ 註解中的切入點 (pointcuts),所以下次希望能釋出一些有趣的程式碼。

但我們剛剛注意到 SourceForge 提供的一些非常驚人的數字,所以我忍不住要發帖分享。Spring 2.0 在前 24 小時內下載量超過 10,000 次!對 Spring 2.0 的興趣已經持續了幾個月——一些使用者甚至已經在生產環境中使用候選釋出版,其中包括歐洲一家著名的媒體網站——我認為 Keith 精彩的釋出頁面...

Spring 2.0 Maven POM 已就緒

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

在這個釋出訊息紛至沓來的一天裡,還有一個關於 Spring 2.0 的最後通知。Spring 2.0 的 Maven POM 檔案已上傳到 Spring 的私有倉庫。如果您想直接指向它,請檢視 https://svn.sourceforge.net/svnroot/springframework/repos/repo/。如果您想等待,它們應該會在未來幾天內複製到 Ibiblio Maven 倉庫。

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


更新於 10/3 22:03:新增關於 ViewVC 的段落

利用泛型元資料

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

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

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

作為一個具體的例子,考慮持有 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 年 09 月 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 年 09 月 22 日 | ...

歡迎來到我的新部落格!我自 2004 年 8 月以來就沒有寫過部落格了,但受我們新團隊部落格的啟發,我想試試提升自己。同時也被同事們的部落格熱情激勵著。

目前我對很多話題都非常興奮,並承諾未來寫部落格的頻率會比每 2 年一次頻繁得多...... 請繼續關注我關於 Spring 2.0 及未來、面向物件設計、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 日:這將是最有趣的時候。The Spring Experience,在佛羅里達州好萊塢舉行。今年我們預計將有超過 500 名開發者參加,並且照常會有精彩的演講者。Keith 和以 No Fluff Just Stuff 而聞名的 Jay Zimmerman 一起,正在出色地組織這次活動。
  • 12 月 11-15 日:在安特衛普舉行的 JavaPolis。一個大型歐洲會議,對參會者來說物超所值,並且總是有頂級的演講嘉賓陣容——這可能是因為組織者 Stephan Janssen 似乎認識 Java 社群中的所有重要人物。當然,比利時總是值得一遊,即使僅僅是為了啤酒。我尤其喜歡比利時白啤酒。
哎呀。即使寫下這個列表也讓我感到疲憊。幸運的是,過去幾個月我飛行的次數比平時少了很多,所以我避免了英國機場的延誤和限制。但很明顯,到 12 月底我將非常需要休息了...

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

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

幾周前,Spring Framework 專案在 SourceForge 上的主頁下載量突破了 100 萬次。實際總數可能要高得多,因為這個數字不包括每夜構建或 Spring 可以從其他網站下載的情況。而且,Spring 當然也包含在越來越多其他產品的分發中。還有 Spring.NET...

最重要的是,Spring 仍在保持增長勢頭:數字增長非常快。下載量最大的 Spring 版本是最新的生產釋出版本 1.2.8,下載量已達 17.5 萬次...

Spring 和 Maven 後續

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

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

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

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

Spring 2.0 RC4 釋出:關於 DTD/Schema 重新命名、Scope 屬性的注意事項

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

Spring Framework 2.0 RC4 已經釋出。這是 Spring 2.0 最終版之前的最後一個候選釋出版,您可以從釋出公告本身以及JIRA 問題列表中瞭解更多關於本次釋出的所有變化。

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

是的,我知道這現在是 JIRA 中得票最高的問題!

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

您能猜到是什麼嗎?如果您猜到是關於 Spring 的Maven 包/構建,那您就贏了。12 月份來 The Spring Experience 找我,我們可以一起喝一杯冰鎮飲料作為您的獎品。

我的過錯 (Mea Culpa)

在過去的工作中,我在配置管理和構建系統方面做了很多工作。當我剛到 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)進行遷移不是一件小事(如果您不信,只需看看《用 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 OSGi 支援勢頭強勁

工程 | Adrian Colyer | 2006 年 09 月 07 日 | ...

這始於一件小事。只是我的一種直覺,認為 Spring 和 OSGi 應該能很好地結合在一起。想法是,透過讓 Spring 應用程式部署在 OSGi 執行時中,我們可以為 Spring 應用程式帶來更好的模組化、版本控制、執行時部署和更新能力。這是一個我從未真正宣傳過的專案;我只是開始嘗試,與一些人交流,並編寫了一些早期原型程式碼。

結果表明,似乎有很多人對 Spring 和 OSGi 感興趣。我們正在與來自 BEA、Oracle、IBM、Eclipse、OSGi 聯盟以及其他幾家公司的代表進行持續合作,以建立一個關於 Spring 對 OSGi 的支援應如何實現以及如何使在 OSGi 執行時上構建企業應用程式變得更容易的共享模型。該規範的最新版本已附在Spring JIRA 問題 1802 中。這裡是規範文字的直接連結...

訂閱 Spring 新聞通訊

訂閱 Spring 新聞通訊,保持連線

訂閱

提升自己

VMware 提供培訓和認證,助您飛速進步。

瞭解更多

獲取支援

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

瞭解更多

即將舉行的活動

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

檢視全部