コンストラクタベースのインジェクションでは、すべての依存関係を持つ完全なオブジェクトが作成されますが、セッターベースのインジェクションの場合には、部分的な依存関係を持つオブジェクトがどのように作成されますか?なぜセッター注入で春の依存性注入が保証されないのですか?
1
A
答えて
0
オブジェクトを作成する唯一の方法はすべての引数を持つため、依存関係が必要な場合はコンストラクタベースの注入を使用する必要があります。
セッターベース注入は、依存性が必要でない場合に使用する必要があります。オブジェクトが最初にインスタンス化され、依存関係の設定が呼び出されますが、依存関係が見つからない場合は、nullが挿入されます。
コンストラクターとセッターベースの注入の両方を混在させることができます。
+0
「ヌル」を挿入しません。依存関係が必要ない場合は、setterをまったく呼び出すことはありません。 –
関連する問題
- 1. 春:セッター依存性注入
- 2. 春の依存性注入
- 3. 春の依存性注入のシナリオ
- 4. 春のブートコンストラクタベースの依存性注入
- 5. 春のmvcで注釈ベースのコントローラの依存性注入
- 6. 春の自動依存性注入
- 7. 春の依存性注入サイクル
- 8. 依存性注入 - Unityコンストラクタ注入が機能しない、ゲッタセッタ注入のみ
- 9. 依存性注入を使用した依存性注入器の注入
- 10. なぜ依存性注入が最後に登録されたオブジェクトを注入するのですか?
- 11. 依存性注入
- 12. 依存性注入
- 13. 依存性注入
- 14. Zend Framework依存性注入対Symfony2依存性注入
- 15. コントローラに注入されるサービスクラスの依存性注入
- 16. 依存性注入が機能しないのはなぜですか?
- 17. 依存性の注入特殊なケース
- 18. 高度な依存性の注入
- 19. シンプルな依存性の注入は
- 20. Groovyの依存性注入
- 21. コンストラクターの依存性注入
- 22. ApiControllerの依存性注入?
- 23. バリデータの依存性注入
- 24. XPCOMの依存性注入
- 25. 依存性注入のクエリ
- 26. Javaの依存性注入
- 27. 依存性の注入
- 28. ダイナミックランタイム依存性の注入
- 29. 依存性の注入
- 30. Scalaの依存性注入
セッターはメソッド呼び出しであり、そのメソッドが呼び出される保証はありません。コンストラクタでは、無効な状態でオブジェクトを構築することはできません。 –
Springはデフォルトコンストラクタを呼び出し、setterを介してこのインスタンスに値を注入しようとします。違いは見えません。とにかく、うまく構築されたオブジェクトが得られます。 – Andrew
@ M.Deinum:私の理解によれば、セッターはデフォルトで春から呼び出され、どのように逃してしまいますか? –