同じクラスの2つのインスタンスを作成し、それぞれ異なるプロパティを注入し、私のアプリケーションの特定の場所。ジーンマネージドオブジェクトの作成をカスタマイズするか、同じクラスの2つの異なるインスタンスを作成する
public MyPresenter(final EventBus eventBus, final MyView view,
@Named("bean1") MainBean bean, TitleSetupData data) {
super(eventBus, view);
this.bean1 = bean1;
}
そして、それは素晴らしい作品:
現在、私はなど、私は次の操作を実行し、私の発表者で
@Provides
@Named("bean1")
public MainBean getMainBean() {
MainBean mainBean = new MainBean(new SecondaryBean());
return mainBean;
}
そして...私のClientModule方法があります。対応する@Namedアノテーションに基づいて、私は正しいBeanを取得します。
しかし、このアプローチでは、MainBeanのすべての依存関係を@Providesメソッドに作成して注入する必要があるという弱点があります。
したがって、SecondaryBeanの@Injectアノテーションは、例えば、守られません。
私ができることの1つは、関連する依存関係をgetMainBeanメソッドに渡すことですが、別のよりエレガントで優れたソリューションがあるかどうかは疑問です。
誰でもアイデアがありますか?