1
A
回答
3
我們通常建議人們爲所有其他屬性的所有 強制合作者和setter注入使用構造函數注入。 同樣,構造函數注入確保所有強制性屬性都已滿足 ,並且無法實例化對象 處於無效狀態(未通過其協作者)。在其他 單詞中,當使用構造函數注入時,不必使用 專用機制來確保設置所需的屬性(而不是 正常的Java機制)。
3
就個人而言,我傾向於構造函數注入,而我做的一個主要原因。
不變性。
對於不可變對象,使代碼線程安全更容易。這在處理彈性域對象時尤爲重要。如果它們是可變的,並且在不同的線程中訪問,則更改任何共享狀態是不安全的。
還有其他原因,不變性是有益的,但我會讓webpage繼續下去。
相關問題
- 1. 依賴注入 - Unity構造函數注入不工作,只有getter setter注入
- 2. 在Spring中構造函數注入
- 3. CGLIB,彈簧和注入構造函數
- 4. 數據註解構造函數注入
- 5. JAXB構造函數注入
- 6. Unity構造函數注入
- 7. TinyIOC構造函數注入
- 8. 構造函數注入
- 9. MEF構造函數注入
- 10. Spring雲數據流@EnableBinding註釋中斷構造函數注入
- 11. 在Spring中通過註釋向構造函數注入參數
- 12. Spring DI:使用註釋在構造函數中注入FileInputStream
- 13. Dagger 2.0構造函數注入和Singleton
- 14. AndroidAnnotations和構造函數注入
- 15. LightInject:構造函數注入和IDisposable
- 16. OOP,依賴注入和構造函數
- 17. c#構造函數注入和構造函數重載
- 18. 依賴注入:將構造函數注入優點與Setter注入優點結合起來?
- 19. 構造函數中的依賴注入
- 20. 構造函數注入路由參數
- 21. Guice:注入參數化構造函數
- 22. 構造函數注入工作...屬性注入不是很多
- 23. 構造函數注入vs方法注入
- 24. 構造函數注入VS字段注入
- 25. 構造函數注入vs安裝程序注入
- 26. 構造函數注入/依賴注入 - 處理「根」類
- 27. 構造函數注入或不注入TDD?
- 28. 使用屬性注入而不是構造函數注入
- 29. 在注入構造函數之前注入成員變量
- 30. 角2:房產注入,而不是構造函數注入
你是對的關鍵點是不可變性。許多Spring用戶應該知道如何在不使用不可變對象時影響GC。 – 2013-05-27 11:29:42