English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

コンストラクタ注入とsetter注入の違い

コンストラクタ注入とsetter注入の間には多くの重要な違いがあります。

部分依存: setter注入を使用して注入できますが、コンストラクタでは実現できません。例えば、あるクラスには3個の属性,具有3個のargコンストラクタとsettersメソッド。この場合、属性の情報を渡すだけの場合は、setterメソッドを通じてのみ渡すことができます。 オーバーライド: setter注入はコンストラクタ注入をオーバーライドします。コンストラクタとsetter注入を同時に使用する場合、IOCコンテナはsetter注入を使用します。 変更: 値を簡単に変更することができます。それは新しいbeanインスタンスを作成するようなものではありません。したがって、setter注入はコンストラクタ注入よりも柔軟です。