用spring的websocket做在线聊天功能,遇到SimpMessagingTemplate 无法注入的问题
package main.java.com.fyd.websocket.controller; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.messaging.handler.annotation.MessageMapping; import org.springframework.messaging.simp.SimpMessagingTemplate; import org.springframework.stereotype.Controller; import main.java.com.fyd.websocket.entity.UserChatCommand; @Controller public class CoordinationController { //用于转发数据(sendTo) private SimpMessagingTemplate template; @Autowired public CoordinationController(SimpMessagingTemplate t) { this.template = t; } @MessageMapping("/userChat") public void userChat(UserChatCommand userChat) { //找到需要发送的地址 String dest = "/userChat/chat" + userChat.getCoordinationId(); //发送用户的聊天记录 this.template.convertAndSend(dest, userChat); } }
以上是controller的代码
<bean id="coordinationController" class="main.java.com.fyd.websocket.controller.CoordinationController"> </bean>
然后报这个错:
org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'coordinationController' defined in URL [file:/D:/MyDevPlace/.metadata/.plugins/org.eclipse.wst.server.core/tmp1/wtpwebapps/mywebapp/WEB-INF/classes/spring-config.xml]: Unsatisfied dependency expressed through constructor argument with index 0 of type [org.springframework.messaging.simp.SimpMessagingTemplate]: : No qualifying bean of type [org.springframework.messaging.simp.SimpMessagingTemplate] found for dependency: expected at least 1 bean which qualifies as autowire candidate for this dependency. Dependency annotations: {}; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type [org.springframework.messaging.simp.SimpMessagingTemplate] found for dependency: expected at least 1 bean which qualifies as autowire candidate for this dependency. Dependency annotations: {}
以上是spring的xml 的bean配置
求助!!!!!!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(11)
引用来自“雨翔河”的评论
为什么不使用 @SendTo 注解呢?
可以看
http://www.yuorfei.com/article?id=20
或者
http://my.oschina.net/110NotFound/blog/536975
我都醉了,你仔细去看代码!
大师能不能具体指点一下呢
大师,能把源码发我参考下么
引用来自“雨翔河”的评论
为什么不使用 @SendTo 注解呢?
可以看
http://www.yuorfei.com/article?id=20
或者
http://my.oschina.net/110NotFound/blog/536975
试过了,也是一样报这个错
取消构造方法(使用默认的无参数构造方法),再声明setter方法并配置spring。这样之后还会报同样的异常?
tomcat8的,服务器肯定是不会错,controller注解我去掉了,也不好使,或者把bean配置去掉,一样。
这是不是环境问题?而且你的controller不是手动注入bean怎么还写
@controller
嗯 好的 我研究下 谢谢!
为什么不使用 @SendTo 注解呢?
可以看
http://www.yuorfei.com/article?id=20
或者
http://my.oschina.net/110NotFound/blog/536975