AbstractへDI

下記のような親子関係のクラスがあります。


・親
public abstract class Parent{

protected CommonDao _commonDao;

public void setCommonDao(CommonDao commonDao){
_commonDao = comonDao;
}

//共通関数
 protected void hogehoge(){
}
}

・子
public class Child extends Parent{

public void execute(){
_commandDao.hoge();
hogehoge();
}
}

この時のdiconファイルなのですが、子供ごとにcommonDaoのDI情報を書くのが面倒なので、
下記のように書いてみたところダメでした。
Parentはabstractで単体ではインスタンスを作れないので当たり前といえば当たり前ですね。
やはりこういう場合は子供ごとに親にDIする情報を書かないといけないのかな?
※このCommonDaoはインタフェースではないのでautoBindingの対象ではありません。


CommonDao


でも上の様に書いても動く組み合わせがあるんだよね。
だけど、abstractにDIって変だし。
親子関係をやめて、委譲にするのがいいかなぁ。