2
私のセットアップは、以下の通りである -クラス(CDI)を含むリファレンスを得ることは可能ですか?
public class ParentModel {
private StatusModel sm;
}
StatusModel
クラスは以下の通りである - StatusModel
内部
public class StatusModel {
private ParentModel pm;
public void setParentModel(ParentModel pm) {
this.pm = pm;
}
}
pm
がStatusModel
が依存するParentModel
インスタンスの基準となります。 dao
インサイド
- 私は
@Inject
private Instance<ParentModel> factory;
以下のようにParentModel
を注入したが、以下のように別々のメソッド呼び出しを使用してStatusModel
にParentModel
の参照を設定しています -
pm = factory.get();
pm.setters...
pm.getSm().setParentModel(pm);//<----- is it possible to avoid this?
我々は内部pm
参照を取得できますsm
メソッド呼び出しなし?
これは循環依存であるため、DIコンテナがオブジェクトの作成順序を正しく決定する明白な方法はありません。横方向の提案:しないでください。代わりに 'StatusModel'が必要とする機能を、それを' ParentModel'と 'ParentModel'の両方に注入できる新しいクラスに抽出します。 – millimoose