问题:
socket通信时,要使用dao进行数据库操作,配置bean注入后,但是获得的对象为null。
原因:
该socket是其他地方new出来的,并不是spring容器生成的,则注入无效。
解决:
String[] xmlCfg = new String[] {"classpath:applicationContext-report.xml"};
ApplicationContext context = new FileSystemXmlApplicationContext(xmlCfg);
// 获取inspectionUtil bean
sysDAO = (SysDAO) context.getBean("sysDAO");
如果出现事务问题,则在该方法前加:
@Transactional(rollbackOn=Exception.class)

本文探讨了在Spring容器外部创建的Socket中,如何正确注入DAO对象以进行数据库操作的问题。当Socket对象并非由Spring管理时,直接注入的DAO会返回null。文章提供了解决方案,即通过ApplicationContext手动获取bean,确保事务正常运行。
1704

被折叠的 条评论
为什么被折叠?



