変更できないクラスがあります:
class SomeBean
{
@Inject private Dep1 dep1;
@Inject private Dep2 dep2;
...
@Inject private DepN depN;
}
私は私のクラスを持っています:
class MyBean
{
@Inject@Named("bean1") private SomeBean bean1;
@Inject@Named("bean2") private SomeBean bean2;
}
bean1
とbean2
が異なる dep2 インスタンスを持つ異なるインスタンスによって注入されるようにモジュール構成を作成するにはどうすればよいですか?ただし、他のすべての依存関係は同じです。
スプリングを使用していた場合、次のようなコンテキスト ファイルで Bean を作成できます。
<bean class="MyBean">
<property name="bean1">
<bean class="SomeBean">
<property name="dep2" ref="dep2InstanceA"/>
</bean>
</property>
<property name="bean2">
<bean class="SomeBean">
<property name="dep2" ref="dep2InstanceB"/>
</bean>
</property>
</bean>
そのため、1 つのプロパティを明示的にオーバーライドし、他のすべてのプロパティを自動配線します。