メソッドインジェクションを使用する傾向があるいくつかのフレームワークを見てきました。たとえば、次のようになります。
public abstract class MyClass {
/** Create the class here */
protected abstract Prototype createPrototype();
public void doSomething() {
createPrototype().foo();
}
public void doSomethingElse() {
createPrototype().bar();
}
}
また、匿名の内部クラスを使用して、カスタム機能を追加したり、好みのオブジェクトを作成したりできます。
new MyClass() {
createPrototype() {
return prototype;
}
}
そして、コンストラクターインジェクションを好む他のもの、たとえばguice。
コンストラクター注入よりも利点がありますか? メソッド注入を使用することは良い方法ですか?