先行一步
VMware 提供培訓和認證,助你快速前進。
瞭解更多我在前往開羅的路上寫下這篇部落格。我們正飛過義大利西部,我能清晰地看到義大利的海岸線,海水湛藍,海浪溫柔地湧向岸邊。那裡的景色一定很美。我去開羅是為了參加由 Ahmed Hashim 組織的埃及使用者組會議,我相信他一定會做得非常出色。我將就 Spring 進行演講,這次的主題是依賴注入、型別安全和 Java 5。昨天(也就是 3 月 14 日),我在荷蘭 Loenen 的 Profict 冬令營為大約 60 或 70 名聽眾做了幾乎相同的演講。
最近有很多關於型別安全、Spring 和其他依賴注入方法的話題。我發現人們太經常地提到 Spring 的依賴注入特性不具有型別安全,更糟糕的是,有人甚至說 Spring 依賴於 XML。由於我不能一直望著飛機窗外(好吧,我可能可以,但這沒太大用處),我決定寫一篇短部落格,介紹 Spring 和 Java 5 的依賴注入的當前狀態。
隨著 Spring 2.5 中新特性的加入以及 Spring 的子專案 JavaConfig 的出現,關於型別安全以及 Spring 綁定於 XML 的論點已經不再成立。雖然過去我們一直說 Spring 不與 XML 耦合,但表達配置細節的唯一可行選擇確實是 XML。但自從 Spring 2.5 以來,這不再是一個理論上的論點;現在有了一個使用純 Java 配置依賴的切實可用的選項。
JavaConfig 方法也在各種部落格文章中進行了更詳細的介紹
正如我在 Loenen 和開羅的演講中也說過的那樣,Spring JavaConfig 尚未完成。仍有一些細節需要完善,以建立一個流暢的 DI 語言,支援基於 XML 的 DI 語言所具備的所有特性。在這方面(如果你願意的話),你可以給我們很大的幫助。嘗試 Spring JavaConfig 並告訴我們你的想法!
程式碼也已附加。它依賴於 JTA API(演示使用了 Hibernate),而 JTA API 沒有安裝在 Maven Repository 中。 Lucio Benfante 在他的部落格中介紹瞭如何解決這個問題(將 JTA API 安裝到你的本地 Repository)。
安裝 JTA API 後,執行 com.carplant.plant 包中的 CarPlantIntegrationTests,並閱讀類註釋。註釋解釋瞭如何啟用 JavaConfig、Autowire 配置和 XML 配置(JavaConfig 預設已啟用)。
[更新] 添加了一個關於 JavaConfig 的資源