首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java Web开发 >

Spring不能向Socket流入对象

2014-01-17 
Spring不能向Socket注入对象?如图所示,对象datasyncSiteDaoImpl是null,说明Spring注入失败。spring配置文件

Spring不能向Socket注入对象?
Spring不能向Socket流入对象
如图所示,对象datasyncSiteDaoImpl是null,说明Spring注入失败。
spring配置文件没有问题,这个类在ServletContextListener中实例化的
[解决办法]
ServerSession必须作为一个bean给spring管理才行,否则,要用那个xxxUtils获得context再getBean才行
[解决办法]

引用:
Socket类无法交给spring管理,那就无法给serverSession注入socket,除了用new来新建ServerSession,貌似没有办法了

你用new来创建ServerSession了那么里面的DatasyncSiteDao就不能用这种注入了,要用spring的ApplicationContext.getBean("datasyncSiteDao")这样的方式获取
DatasyncSiteDao datasyncSiteDaoImpl=(DatasyncSiteDao)org.springframework.web.context.ContextLoader.getCurrentWebApplicationContext().getBean("datasyncSiteDao");
不过我觉得很奇怪你这个完全是javase就可以搞定的干嘛要放在web上
[解决办法]
前几天碰到过类似的问题,可以这样做

HttpServletRequest request = ServletActionContext.getRequest();
ServletContext sc = request.getSession().getServletContext();
WebApplicationContext webAppCtx = WebApplicationContextUtils.getRequiredWebApplicationContext(sc);
你要的bean  bean = (你要的bean) webAppCtx
.getBean("你要的bean");

热点排行