Spring中多线程注入SqlService注不进去,显示sqlService为null异常
Java code
public class AutoRun implements Runnable {
@Resource
private SqlService sqlService;
public void setSqlService(SqlService sqlService) {
this.sqlService = sqlService;
}
public void run() {
while (true) {
try {
String a = new Date().toLocaleString();
sqlService.read("select '"+a+"' from dual");
System.out.println(a);
Thread.sleep(100);// 休眠2分钟
} catch (InterruptedException e) {
e.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
}
}
}
}
Spring中多线程注入SqlService注不进去,显示sqlService为null异常,而在普通Action中可以注入,请问这是为什么?
------解决方案--------------------往线程类中注入....
会不会是你注入之前,该线程类的实例就已经生成了呢?或者说是该线程类实例生成时,sql service实例还没有生成?
sql service实例化---AutoRun 实例化----注入----访问AutoRun.sqlService,这个过程你再琢磨一下,看看你是否按照这个顺序?
------解决方案-------------------- public void setSqlService(SqlService sqlService) {
this.sqlService = sqlService;
}
是不是要放在run的里面呀
------解决方案--------------------用这个:
------解决方案--------------------