私が持っているバーのように実装したクラスは、次のとおりです。次のようにSpringでapplicationContext.getBeanを回避するにはどうすればよいですか?
class Bar implements ApplicationContextAware {
ApplicationContext applicationContext;
void barFoo() {
final Foo foo = applicationContext.getBean(Foo.class);
foo.doSomeWork();
foo.shutDownProperly();
}
@Override
public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {
this.applicationContext = applicationContext;
}
}
そしてFOOは私の設定で定義されています。シングルトンのFooが適切に仕事をしません、ので
<bean id="foo" class="biz.tugay.Foo" scope="prototype"/>
それは毎回正常にシャットダウンする必要があります..
私はgetBean
が "dependency injectio n "/"テスト可能な "原則。
しかし、どのように、私は "barFoo" 方法については "バー" に "プロトタイプはFoo" "はを注入" しますか?
は、文脈に依存しますが、あなたの代わりに –
@NickVanderhoven fooがすでに試作品ですが、バー自体シングルトンが細かいシングルトンのプロトタイプBeanを使用する場合があります。..のObjectFactoryの –