解决websocket不能@Autowired注入问题

Posted 代码中透露着杀气

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了解决websocket不能@Autowired注入问题相关的知识,希望对你有一定的参考价值。

今天在项目中,遇见需要在websocket中注入redis工具类,最后发现通过@Autowired无法注入,最后网上搜寻了下答案,大致原因为spring管理的都是单例(singleton),和 websocket (多对象)相冲突。因为websocket是多实例单线程的,而websocket中的对象在@Autowried时,只有整个项目启动时会注入,而之后新的websocket实例都不会再次注入,故websocket上@Autowried的bean是会为null的

最后解决办法

 

 

 最后贴上socket里方法(在网上找了个 * - *)

 

 

 

 

 

 

 

 

 

 

 

以上是关于解决websocket不能@Autowired注入问题的主要内容,如果未能解决你的问题,请参考以下文章

Spring不能直接@autowired注入Static变量问题和解决方案

Spring不能直接@autowired注入Static变量问题和解决方案

SpringBoot使用@ServerEndpoint无法依赖注入问题解决(WebSocket)

SpringBoot自行new出的对象中的成员变量不能使用@Autowired注入的解决办法

SpringBoot整合WebSocket时,自动注入Service层报错空指针异常的解决方案

解决@Autowired注入时下划线红色的问题