解决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注入的解决办法