私は、(テスト用に) XML 構成をオーバーライドする注釈ベースの構成をロードできるユーティリティのセットアップに取り組んでいます。さまざまなセットアップを試しましたが、これが機能する唯一のセットアップです。
GenericApplicationContext firstCtx = new GenericApplicationContext();
XmlBeanDefinitionReader xmlReader = new XmlBeanDefinitionReader(firstCtx );
xmlReader.loadBeanDefinitions("applicationContext.xml");
GenericApplicationContext ctx = new GenericApplicationContext();
AnnotatedBeanDefinitionReader annotatedReader = new AnnotatedBeanDefinitionReader(ctx);
annotatedReader.register(SomeConfigClass.class);
ctx.refresh();
for (String currBeanName : firstCtx.getBeanDefinitionNames())
{
if (!ctx.containsBeanDefinition(currBeanName))
{
ctx.registerBeanDefinition(currBeanName, firstCtx.getBeanDefinition(currBeanName));
}
}
これは技術的には機能しますが、これを行うには非常に面倒な方法のようです。XML ベースの構成よりも注釈ベースの構成をロードするためのより良い方法はありますか?
ありがとう!