私が作成するいくつかのBeanは、Beanのインスタンス化に似たパターンを使用して作成しています。上のオブジェクトはすべて非常に似ていますが、それらに含まれるオブジェクトは文字列のコンストラクタ引数によって異なります。 THIS CHANGES A
の2つのインスタンスとTHIS CHANGES B
の1つのインスタンスを除いて、各トップレベルBeanのすべてが同じです。以下は私の豆の一つです。他は、THIS CHANGES
の値を除いてまったく同じです。Springアプリケーションコンテキストでの重複を減らす方法
<bean id="mover1" class="CustomDataMover">
<constructor-arg ref="session"/>
<constructor-arg>
<bean class="DataCache">
<constructor-arg>
<bean class="AllValuesReader">
<constructor-arg ref="databaseConnector"/>
<constructor-arg value="THIS CHANGES A"/>
<constructor-arg value="v1"/>
<constructor-arg value="v2"/>
</bean>
</constructor-arg>
</bean>
</constructor-arg>
<constructor-arg ref="customUpdate"/>
<constructor-arg value="THIS CHANGES B"/>
<constructor-arg>
<bean class="ValueGenerator">
<constructor-arg>
<bean class="LatestValueRetriever">
<constructor-arg ref="databaseConnector"/>
<constructor-arg value="v3"/>
<constructor-arg value="v4"/>
<constructor-arg value="THIS CHANGES A"/>
</bean>
</constructor-arg>
</bean>
</constructor-arg>
</bean>
豆の重複を減らすにはどうすればよいですか?私はいくつかの種類のテンプレートを作成するためのいくつかの方法を探しています。また、他のBeanへの参照があることに注意してください。
これをネストされたクラスにどのように適用すればよいですか?トップレベルのインスタンスを抽象的なものにしてから、値をネストされた要素に渡すことができますか? –