Spring3Webアプリケーションを実行しています。すべてのBeanが正しく注入され、すべてが正常に機能しています(すべてのWebサービス呼び出しが正しく機能しています)。
アプリケーションを拡張する際に、Webサービスを介して開始および停止できるスレッドを追加する必要がありました。
スレッドでは、いくつかのSpringBeanを注入する必要があります。これらのbeensはサービスです(@Serviceで注釈が付けられています)。私のapplicationContextでは、Beanはコンポーネントスキャンを介して検出されます。
<context:component-scan base-package="<package>">
<context:exclude-filter type="annotation" expression="org.springframework.stereotype.Controller" />
</context:component-scan>
しかし、(@ Resourceを使用して)スレッドにBeanを注入しようとすると、常に「null」になります(SpringはBeanを注入しません)。スレッドは開始されますが、初期化中に失敗します。
また、コードにapplicationContextをロードしてそれらを挿入しようとしました:(アプリケーションコンテキストは'src / main / resources'にあります)
ClassPathXmlApplicationContext applicationContext = new ClassPathXmlApplicationContext("classpath:*applicationContext.xml");
if(applicationContext.containsBean("BeanName")) {
beanObject = (BeanClass) applicationContext.getBean("BeanName");
} else {
//Exception
}
誰かがスレッドに豆を注入する方法を知っていますか?または、スレッドにBeanを注入することはできませんか?
前もって感謝します!