- 在运行的时候报空指针异常,发现使用autowired自动注入没有起作用;
- 原因:spring容器管理的是单例的,他只会注入一次,而websocket是多对象的,当有新的用户使用的时候,他就会新创建一个websocket对象,这就导致了用户创建的websocket对象都不能注入对象了,所以在运行的时候就会发生注入对象为null的情况;
- 解决方法:把注入的对象声明为静态对象,例如
privat static Service service; @autowired public void setService(Service service){ WebSocketServer.service = service; }