私は春を通してインスタンス化しようとしている次のクラスを持っています。
class MyBean{
MyBean myBeanFallback;
MyDataObject myDataObject;
public void setMyBeanFallback(MyBean myBeanFallback){
this.myBeanFallback = myBeanFallback;
}
MyBean(MyDataObject myDataObject){
this.myDataObject = myDataObject;
}
}
以下は、これをロードするために使用しようとしているスプリング構成です。
<bean name="myNewBean" class="MyBean"
scope="prototype">
<constructor-arg index="0" type="MyDataObject" >
<null />
</constructor-arg>
<property name="myBeanFallback" ref="myOldBean" />
</bean>
<bean name="myOldBean" class="MyBean"
scope="prototype">
<constructor-arg index="0" type="MyDataObject" >
<null />
</constructor-arg>
</bean>
私のアプリケーション コードでは、データを持ち、フォールバックを持たない myOldBean をインスタンス化することがあります。それ以外の場合は、データを持ち、フォールバックとして myOldBean を持つ myNewBean をインスタンス化することができます。これには、同じ myDataObject も必要です。
getNewBean(MyData mydata){
return (MyBean) context.getBean("myNewBean", new Object[] { mydata });
}
getOldBean(MyData mydata){
return (MyBean) context.getBean("myOldBean", new Object[] { mydata });
}
私が今直面している問題は、myNewBean を取得しているときに、フォールバック getNewBean に mydata が入力されず、null が取得されることです。
これを修正する方法についての指針はありますか?