0
私はSpring Webアプリケーションで特殊なサブクラスを使ってテストしようとしています。プロパティ参照でサブクラスを選択するSpringを作る方法は?
アプリケーションコンテキストxmlファイルは次のように、完全修飾クラス名で、いくつかのBeanのプロパティでクラスを参照:
<bean id="blahblah" class="x.y.z.Blah">
<property name="myFooAttribute" ref="x.y.z.Foo"/>
</bean>
と私はx.y.z.Bar
の代わりx.y.z.Foo
をインスタンス化して使用したい、どこでもそれがあります中古。
私のテストでは、Javaベースの設定を使用していて、XML設定をインポートしています(私が実際にあまり混乱させたくないレガシーなもの)。インラインで宣言されたモックを使用します。
@Configuration
@ImportResource({
"classpath:applicationContext-common.xml",
"classpath:app-servlet.xml"
})
static class TestConfig {
static class Bar extends Foo {
//some stuff overridden here
}
}
どのように私はx.y.z.Foo
に参照しているすべての場所ではなく、私のBar
クラスを使用することができますか?できればxmlファイルを変更することなく...
'Bar'型のBeanと' Foo'型のBeanを追加するだけですか? – chrylis
'Foo' Beanは、私が知っているところでは定義されていません。引数なしのデフォルトのコンストラクタを持っているのでシングルトンBeanを作っていると思います... – fortran
しかし、おそらく私は間違っています。どちらの場合でも、テスト目的のために元の設定を変更したくない場合は、必要なビットをオーバーライドするだけです。 – fortran