求助:dwr3中使用@Autowired失败service为null的问题

浅陌游离 2013-05-02 09:22:36
项目框架是springmvc3,在dwr3中,我是用dwr.xml配置的,当我使用@Autowired自动装配service时候,service为null。也就是说没自动装配成功。
贴代码
package com.coreware.ems.chat.action;

import java.util.Collection;

import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;

import net.sf.json.JSONObject;

import org.directwebremoting.Browser;
import org.directwebremoting.ScriptBuffer;
import org.directwebremoting.ScriptSession;
import org.directwebremoting.ScriptSessionFilter;
import org.directwebremoting.WebContextFactory;
import org.directwebremoting.impl.DefaultWebContext;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;

import com.coreware.ems.chat.dto.MessageDto;
import com.coreware.ems.chat.service.MessageService;
import com.coreware.ems.common.web.WebConstants;
import com.coreware.ems.security.control.LoginController;
import com.coreware.ems.security.control.login.LoginPackage;
import com.coreware.ems.security.service.UserService;
import com.coreware.framework.util.DateUtil;

@Controller
public class MessageAction {
@Resource
private UserService userService1;

@Autowired
private MessageService messageService;

@RequestMapping("dwr/send.do")
public void send(final String data) {
JSONObject jo = JSONObject.fromObject(data);
final MessageDto message = (MessageDto) JSONObject.toBean(jo,MessageDto.class);
message.setId(WebConstants.generateDefaultID());
message.setCreateDate(DateUtil.getCurrentDateTime());
message.setType("KPI");
final HttpServletRequest request=WebContextFactory.get().getHttpServletRequest();
LoginPackage lp=LoginController.getLoginPackage(request);
message.setCreateBy(lp.getLoginName());
messageService.save(message);

ScriptSession scriptSession = WebContextFactory.get().getScriptSession();
scriptSession.setAttribute("message", message);

//测试代码
DefaultWebContext wctx = (DefaultWebContext) WebContextFactory.get();
String currentPage = wctx.getCurrentPage();
Collection<ScriptSession> sessions = wctx.getScriptSessionsByPage(currentPage);
System.out.println(sessions.size());


//withAllSessionsFiltered
//withCurrentPageFiltered
Browser.withCurrentPage(new Runnable() {
public void run() {
Collection<ScriptSession> colls = Browser.getTargetSessions();
for (ScriptSession scriptSession : colls) {
ScriptBuffer script = new ScriptBuffer();
script.appendCall("console.log", "运行 send message方法");
script.appendCall("callback",JSONObject.fromObject(message));
scriptSession.addScript(script);
//ScriptSessions.addFunctionCall("callback",JSONObject.fromObject(message));
}
}
});
}
}


...全文
105 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
浅陌游离 2013-05-02
  • 打赏
  • 举报
回复
引用 1 楼 fangmingshijie 的回复:
@Resource private UserService userService1;这名字不要乱写,要和配置文件中的name值对应
@Resource private UserService userService1;这个是测试的,因为 @Autowired没用我才这样写试试看,不明白 @Autowired为什么没用
  • 打赏
  • 举报
回复
@Resource private UserService userService1;这名字不要乱写,要和配置文件中的name值对应
跟着视频做的 ,代码原来老师教程视频用的拼音简写字段 和表名 我是把字段都翻译了,自己重做一遍的,我做这个也是感觉,没有代码,一个字母敲挺郁闷的,尤其那个html页面。 说明一点:把数据库导进去后,把端口改好,那时,我写成8088 你电脑写的什么你就改刚过来,还有 那个过滤器src/com.hj.filter/LoginFilter.java 你的工程名师什么,记得到LoginFilter.java改和你的一样了。自学了一个多月终于写完了。哈哈 现在共享了,系统我这边是运行正常的;如有问题,M一下。 一、项目介绍 CRM英文全称Customer Relationship Management,文名为客户关系管理。由美国Gartner 集团提出。本系统将提供给老板、经理(副经理)、销售员等人员使用,完成对客户关系的日常管理。 我们认为,CRM是辨识、获取、保持和增加“可获利客户”的理论、实践和技术手段的总称。它既是一种国际领先的、以“客户价值”为心的企业管理理论、商业策略和企业运作实践,也是一种以信息技术为手段、有效提高企业收益、客户满意度、雇员生产力的管理软件。北风网推出的CRM项目除了在业务上的特色之外,还综合了Struts 2+ Spring + Hibernate+ Jfreechart+JQuery+AJAX的技术实现:利用Spring来解耦合,管理依赖,将整个应用进行整合;持久化层采用轻量级的ORM解决方案Hibernate;对系统的多种报表生成采用Jfreechart技术。 这个项目所涉及的知识点包括SSH三大框架,同时也介绍了其他常用的框架,如Jquery、Jfreechart等,在介绍了新技术点的同时重点让大家了解了CRM的业务知识,TBC(技术+业务+沟通)是优秀程序员必不可少三要素。 二、项目学习特色: 这个项目课程最大的特色是手把手详细讲解+手把手的分析业务流程+每天半小时的实时答疑(特殊情况除外)+学习后多次反复播放复习=真实课堂学习效果 三、项目实际价值: 本项目来源于真实的企业级别项目,项目由历风行老师根据自己实际开发项目抽取出来,该案例实际价值是一个6万左右的项目,虽然功能和工作量上面有部分缩水,但是技术含量绝对没有缩水。经过厉老师2个多月的对原有项目的二次开发,重新集成了新技术点,使项目的价值远远超过实际开发项目的价值。 四、用到的框架和技术点: 1.struts2.0 2.Hibernate 3.spring 4.Ajax 5.Jfreechart 6.JQuery 7, JSP Tree Tag 9.DWR 10.UML 11.Log4J 12.JUnit技术 13.ant 14.CVS 15.webserice 17.PowerDesigner 18.XDoclet 19.extjs ...................... 五、功能模块 1.客户管理 包含子模块:客户管理、客户服务、投诉处理、客户关怀、客户导入等模块 2.联系人管理 3.权限管理(重点模块) 包含子模块:功能模块、角色模块、用户模块。 4.日程/任务管理(包括日志之类的Log4J、JUnit技术) 5.项目管理 6.数据字典 .......................................................................... 六、课程特色 1真实性、实战性 如果您能够完整的学好这个项目(自己能够理解业务等),走进企业,您完全不需要去考虑工作是否可以胜任,只要您告诉您的面试官,您所了解CRM方面的业务实现之类的! 2.流行趋势 该项目使用流行的Struts 2 + Hibernate + Spring + JQuery整合开发。众所周知Struts 2框架比之前辈要胜出不少,而Hibernate框架也是持久化的首选,而大名鼎鼎的Spring更是无所不能。再加上设计轻巧的JQuery框架,一个完美的整合框架由此而生。 3.真实的案例 该案例是一个价值6万元的项目,当然在功能和工作量上有部分缩水,但是技术绝对不会缩水。 4.项目技术点: 该项目的技术点可谓众多,每个技术点的实现都有一定的技巧,在本项目老师会带领大家去采用最实用的技术去实现众多技术点。 七、课程安排(大体安排60讲左右,每讲在45分钟以上)。 课程包括数据库层设计,业务流程分析,系统架构设计,系统的编码、系统的打包、系统的部署运行 1-15讲:客户管理开发 16-25讲:联系人管理开发 26-40讲:权限管理开发 41-50讲:日程管理开发 50-60讲:项目管理开发

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧