Spring 2.0 Maven POM 準備就緒

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

在今天充滿 Spring 2.0 消息的一天,這是最後一個關於 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 年 9 月 29 日 | ...

當我與客戶交談時,我經常聽到一個常見的誤解,那就是關於泛型類型的所有資訊都會從您的 Java 類別檔案中抹去。 這完全是不正確的。 所有靜態泛型資訊都會被保留,只有關於個別實例的泛型資訊才會被抹去。 因此,如果我有一個類別 Foo 實作了 List<String>,那麼我可以確定 Foo 在運行時實作了 List 介面,並由 String 參數化。 但是,如果我在運行時實例化一個 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 Group 首次會議

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

我非常興奮地宣布,新英格蘭 Java 使用者群組中的 Spring SIG 將在本週四(2006 年 9 月 28 日)舉行我們的第一次會議。 Ramnivas LaddadAspectJ in Action 的作者和 Interface21 的負責人)將介紹“Spring 開發人員的 AspectJ”。 這將是一個了解 Spring 2.0 中 AspectJ 整合增強功能的絕佳機會。

您可以在此處閱讀詳細資訊,如果您計劃參加,請務必點擊頁面左側的「註冊」連結。

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

特別感謝 NEJUG 主席 Steven Maienza 和 NEJUG 成員,他們對建立 Spring 群組表示興趣,並在我甚至還沒搬到波士頓之前就開始推動這件事。 謝謝!

好久不見,沒有寫部落格

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

歡迎來到我的新部落格! 我自 2004 年 8 月以來就沒有寫過部落格了,但受到我們新團隊部落格的啟發,試圖提升我的遊戲水平。 我也因為同事們的部落格能量而感到羞愧。

我目前對很多主題感到非常興奮,並承諾在未來比每 2 年一次更頻繁地寫部落格... 請繼續關注我關於 Spring 2.0 及其未來、OO 設計、AOP 和企業 Java 未來的想法。

同時,我將分享未來幾個月的行程安排(至少可以給我一個不總是定期發帖的藉口)

  • 10 月 1-6 日:丹麥奧胡斯舉行的 JAOO 會議。
  • 10 月 10-11 日:布拉格舉行的 BEAWorld 活動。 永遠是一個美麗的城市,儘管布拉格不再是一個廉價的目的地。
  • 10 月 23 日:在舊金山舉行的 Oracle Develop 活動(Oracle Open World 會議的一個新部分)上發表關於 Spring 2.0 的主題演講。 看起來這將是一個大型會議。
  • 11 月:我將在 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 年 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 RC4 發布:DTD/Schema 重新命名、Scope 屬性

工程 | Colin Sampaleanu | 2006 年 9 月 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 年 9 月 15 日 | ...

你能猜到是什麼嗎? 如果你猜是 Spring 的 Maven bundle/build,你就贏了。 12 月來 The 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 OSGi 支援正在加速發展

工程 | Adrian Colyer | 2006 年 9 月 7 日 | ...

它最初是一個小東西。 只是我的一個預感,Spring 和 OSGi 應該可以很好地結合在一起。 這個想法是,通過使 Spring 應用程式能夠部署在 OSGi 運行時中,我們可以為 Spring 應用程式帶來更好的模組化、版本控制、運行時部署和更新功能。 這是一個我從未真正宣傳過的專案; 我只是開始試驗、與一些人交談並編寫一些早期的原型程式碼。

事實證明,很多人似乎對 Spring 和 OSGi 感興趣。 我們正在與 BEA、Oracle、IBM、Eclipse、OSGi Alliance 和其他幾家公司的代表合作,以建立 Spring 對 OSGi 支援的共享模型,以及如何讓我們可以輕鬆地在 OSGi 運行時上建立企業應用程式。 最新版本的規範附加在 Spring JIRA 議題 1802 中。 這是直接連結到規範文字

Spring 2.0 中的 Before Advice

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

你們大多數人都知道,Spring 2.0 的重大改進之一是增加了 AspectJ pointcut 語言,並在總體上更好地與 AspectJ 整合。 雖然我認為每個人都相信這從長遠來看將會帶來巨大的好處,但它也導致了一些問題。 我們發現 Spring AOP 一直在做某些行為,但 AspectJ 從未做過。

出現的一個大問題是 Before advice 的行為。 如果你在 Spring 1.x 中使用過 Spring AOP,你可能知道 Spring 允許你在參數傳遞給目標之前更改參數值...

獲取 Spring 電子報

隨時關注 Spring 電子報

訂閱

領先一步

VMware 提供培訓和認證,以加速你的進度。

了解更多

獲得支援

Tanzu Spring 在一個簡單的訂閱中提供 OpenJDK™、Spring 和 Apache Tomcat® 的支援和二進位檔案。

了解更多

即將舉辦的活動

查看 Spring 社群中所有即將舉辦的活動。

查看全部