領先一步
VMware 提供訓練與認證,加速您的進展。
了解更多我寫這篇文章時,正前往開羅的路上。我們正飛越義大利西部,我可以清楚地看到義大利海岸線,湛藍的海水和海浪輕柔地朝岸邊移動。現在那裡一定很棒。我正前往開羅參加由 Ahmed Hashim 組織的 埃及使用者群組 會議,我相信他一定做得非常出色。這次我將以相依性注入、型別安全和 Java 5 為主題,介紹 Spring。昨天(也就是 3 月 14 日),我在荷蘭 Loenen 的 Profict Wintercamp 為約 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),該 API 未安裝在 Maven 儲存庫中。Lucio Benfante 撰寫部落格文章介紹了如何解決這個問題(在您的本機儲存庫中安裝 JTA API)。
安裝 JTA API 後,執行 com.carplant.plant 套件中的 CarPlantIntegrationTests 並閱讀該類別的註解。這說明了如何啟用 JavaConfig、Autowire 配置和 XML 配置(預設已啟用 JavaConfig)。
[更新] 新增一篇關於 JavaConfig 的資源