今天在項目中,遇見需要在websocket中注入redis工具類,最后發現通過@Autowired無法注入,最后網上搜尋了下答案,大致原因為spring管理的都是單例(singleton),和 websocket (多對象)相沖突。因為websocket是多實例單線程的,而websocket中的對象在@Autowried時,只有整個項目啟動時會注入,而之后新的websocket實例都不會再次注入,故websocket上@Autowried的bean是會為null的
最后解決辦法
最后貼上socket里方法(在網上找了個 * - *)