2:pom里通过maven管理添加javax.websocket 的相关JAR包
javax.websocket
javax.websocket-api
1.1
provided
3:WebSocketController里@Component注解不用动,网上有说发布到服务器需要删除该标签才能够通过ws请求到接口的,本人亲测如果不加@Component标签,才会请求不到ws的路径接口。所以该标签必须加。
至此,打包后上传到服务器就可以通过websocket通信啦。
两个小坑:
一:
WebSocketController里无法@Autowired自动注入bean一直为空的问题,其原因在一个大佬的博客里找到了。
奉上:
由于于Spring本质上管理的都是单例(singleton),和 websocket (多对象)相冲突。
详细解释:项目启动时初始化,会初始化 websocket (非用户连接的),spring 同时会为其注入 service,该对象的 service 不是 null,被成功注入。但是,由于 spring 默认管理的是单例,所以只会注入一次 service。当新用户进入聊天时,系