春天

Spring -依賴注入

Spring -依賴注入

每一個基於java的Application有幾篇文章共同介紹了終端客戶所認為的正常運行的應用程序。在編寫令人難以置信的Java應用程序時,應用程序類應該像其他Java類一樣具有自治性,以便在單元測試期間重用這些類並在不同的類中自由地測試它們。依賴注入(或在某些情況下稱為連接)有助於將這些類粘在一起,同時保持它們的獨立性。假設您有一個帶有內容工具部分的應用程序,並且需要進行拚寫檢查。在這裏,演示不應該強調拚寫檢查器的執行。拚寫檢查器將自動執行,並在demo啟動時提供給demo。Spring框架限製了整個方法。

公共類演示{私有拚寫檢查器拚寫檢查器;公共演示(){拚寫檢查器=新的拚寫檢查器();}}

在這裏,我們從演示中消除了絕對控製,並將其保留在其他地方(例如,XML設計記錄),並且依賴項(例如,類拚寫檢查器)通過類構造函數注入到類演示中。因此,控製的進程已經被依賴注入(DI)“修改”了,因為您已經充分指定了對某些外部框架的依賴。注入Dependency的第二種策略是通過演示類的Setter方法,使拚寫檢查器出現。這種情況將被用來調用setter策略來引入演示屬性。這樣,DI存在於兩個重要的變化中,並且伴隨的兩個小節將用模型涵蓋它們中的兩個

依賴注入類型及其描述

  • 基於構造函數的依賴注入

基於構造函數的DI是在持有者使用各種參數創建一個類構造函數時培養的,每個參數處理另一個類的依賴關係。

  • 基於setter的依賴注入

基於setter的DI是由調用bean上的setter策略的持有者在調用無爭用構造函數或無爭用靜態工業設施策略來啟動bean之後改進的。

您可以混合使用基於構造函數的DI和基於setter的DI,但是對於急性條件使用構造函數爭用,對於任意條件使用setter是一個不錯的指導方針。使用DI準則的代碼更加簡潔,當文章提供了它們的條件時,解耦更加可行。該項目沒有考慮到它的條件,並且對條件的區域或類別有最模糊的概念。相反,Spring框架考慮了所有事情。

Baidu
map