3.4 使用哪種注入方式

來源:互聯網
上載者:User

 

3.4  使用哪種注入方式

至於要使用構造注入或Set注入來完成依賴注入這個問題,其實就是在討論:要在對象建立時就準備好所有的資源,或是在對象建立好後,使用Set注入來進行設定。

因為網路上關於這個的討論太多了,各有各的道理,所以在這裡不想再進行討論,只是將筆者在實際工作中的一些經驗分享給讀者。

使用構造注入可以在建構對象的同時一併完成依賴關係的建立,對象一建立則所有的一切也就準備好了,但如果要建立的對象關係很多,使用構造注入會在建構函式上留下一長串的參數,且不易記憶,這時使用Set注入會是個不錯的選擇。

使用Set注入可以有明確的名稱,可以瞭解注入的對象會是什麼,像setXXX()這樣的名稱會比記憶Constructor上某個參數位置代表某個對象更好。

然而使用Set注入由於提供了setXXX()方法,所以不能保證相關的資料成員或資源在執行時不會被更改設定,所以如果開發人員想要讓一些資料成員或資源變為唯讀或是私人,使用構造注入會是個簡單的選擇。

 

3.5  小    結

Spring的核心是個IoC容器,使用者可以用Setter或Constructor的方式來實現自己的業務對象。至於對象與對象之間的關係建立,則通過組態設定,讓Spring在執行時根據組態的設定來建立對象之間的依賴關係,開發人員就不必特地撰寫一些Helper來自行建立這些對象之間的依賴關係,這不僅減少了大量的程式撰寫,也降低了對象之間的耦合程度。當讀者瞭解了IoC的工作原理和一些基本使用方法後,也就對Spring的核心有了一定的認識,接下來從第4章開始筆者將詳細講解Spring的文法。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.