websocket不能注入其他的bean对象

问题来源

前几天为了实现一个聊天功能,采用websocket技术,当时直接想在里面写与数据库的交互,发现其他service注入不进入,查了一些百度,以及csdn,找到了解决方法,希望对于大家使用有所帮助
聊天功能链接:https://blog.csdn.net/qq_43532386/article/details/111773941

之前(错误的注入):

@Autowired
private  IUserService userService;

修改后(可以成功)

private static IUserService userService;

@Autowired
 public void setMyServiceImpl(IUserService userService){
 	//WebSocket为当前webSocket的类
     WebSocket.userService = userService;
 }
  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
根据提供的引用内容,可以看出在WebSocketServer类中存在注入问题。在引用\[2\]中,通过@Autowired注解将LearnedCourseCacheService注入WebSocketServer类中的cacheService属性上,但是注入失败,cacheService为null。而在引用\[3\]中,项目启动时初始化的WebSocket对象可以成功注入service,但是当新用户进入聊天时,系统会创建一个新的WebSocket对象,这时由于Spring默认管理的是单例,所以无法给第二个WebSocket对象注入service,导致注入失败。 因此,解决注入WebSocketServer的问题可以尝试以下方法: 1. 确保WebSocketServer类被正确注解为@Component,以便Spring能够扫描到并管理该类。 2. 确保LearnedCourseCacheService类被正确注解为@Service或@Component,以便Spring能够正确创建并管理该类的实例。 3. 确保WebSocketServer类中的@Autowired注解被正确使用,注入LearnedCourseCacheService时,可以尝试使用构造函数注入或者在属性上使用@Autowired注解。 4. 如果WebSocketServer类需要被多个用户连接使用,可以考虑使用@Scope注解为每个WebSocket对象创建一个新的实例,以避免注入失败的问题。 综上所述,可以尝试以上方法来解决注入WebSocketServer的问题。 #### 引用[.reference_title] - *1* *2* [WebSocketServer无法注入Bean](https://blog.csdn.net/qq_45537574/article/details/122879256)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [SpringBoot中集成websocketWebSocketServer中注入mapper为空](https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/127072530)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值