在一个普通类中使用bean,代码如下:
public class ReceiveThread extends Thread {
@Autowired
private ApplicationContext ctx;
ConcentratorService concentratorService;
public void init() {
ctx = new FileSystemXmlApplicationContext("/WebRoot/WEB-INF/config/datasource.xml");
concentratorService =(ConcentratorService) ctx.getBean("concentratorService");
}
public void run() {
String macAddr="12:12:12:12:12:12";
Concentrator c=concentratorService.findConcentratorByCaddress(macAddr);
}
}运行多线程之后,service被成功注入了,但是dao为空的。

ConcentratorService中的findConcentratorByCaddress函数如下:
@Service("ConcentratorService")
public class ConcentratorServiceImpl implements ConcentratorService{
@Autowired
ConcentratorDao concentratorDao;
public Concentrator findConcentratorByCaddress(String caddress) throws Exception{
// TODO Auto-generated method stub
return concentratorDao.findConcentratorByCaddress(caddress);
}
}各位,求救!
============更新内容============
ConcentratorDao:(ConcentratorService雷同,只是把Dao改成Service)
public interface ConcentratorDao {
public List getConcentratorListByMacAddresses(String[] macAddr) throws Exception;
} datasource.xml片段
Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...