在SSH框架下使用spring的@Autowired或@Resource来实现对象的自动注入,但是近日用多线程解决大任务执行时拥堵的问题,发现在多线程中用Spring来自动注入时总是注入不进去,对象显示为null。
mark一下:关于多线程中service不能注入的问题 mark一下:关于多线程中service不能注入的问题后来了解到spring bean 出于线程安全考虑,不得注入bean至线程类(Runnable),如果线程中想使用spring实例,用以下方法:
1.添加spring 上下文工具类SpringContextHolder
其中有getBean的方法
2.在上下文配置文件applicationContext.xml中加入对工具类的引用
<bean id="SpringContextHolder" class="com.feiluo.mvc.XmlSupport.SpringContextHolder"></bean>
3.在子线程中手动引入RTASRTest的bean:
private RTASRTest rtASRTest=SpringContextHolder.getBean(RTASRTest.class);
4.在子线程的run中调用即可。
mark一下:关于多线程中service不能注入的问题
网友评论