春のプログラミングでは、マルチスレッドは、私たちはしばしば使用することですが、@Autowiredノートへの追加メソッドを実装する必要があるので、スレッドで、私たちは、私たちが望むBeanを注入することができない、ここでは2つの実装があります道
図1は、コンストラクタ豆スレッドによって達成するコンストラクタによって、対応するBeanに、スレッドの構築時に発信者がBeanを注入する必要があります
対応するBeanコンテナたBeanFactoryを得るために、2、又はSpringIocのApplicationContextによって
ApplicationContextのApplicationContextAware継承を介して取得します
@Component
パブリッククラスApplicationContextHolder実装ApplicationContextAware {
プライベート静的のApplicationContextのApplicationContext。
@Override
公共ボイドsetApplicationContext(ApplicationContextのApplicationContextの)はBeansExceptionをスロー{
this.applicationContext =のApplicationContext。
}
パブリック静的オブジェクトgetBean(文字列のbeanName){
リターンapplicationContext.getBean(のbeanName)。
}
パブリック静的オブジェクトgetBean(クラス0){
リターンapplicationContext.getBean(O)
}
}
通过继承BeanFactoryAware获取たBeanFactory容器
@Component
パブリッククラスBeanFactoryHolder実装BeanFactoryAware {
プライベート静的たBeanFactoryたBeanFactory。
@Override
公共ボイドsetBeanFactory(たBeanFactoryたBeanFactory)はBeansExceptionをスロー{
this.beanFactory =たBeanFactory。
}
}