Внедрение зависимости внутри AbstractWebSocketHandler - PullRequest
0 голосов
/ 18 апреля 2020

Как добавить зависимость внутри обработчика веб-сокета:

public class WebsocketHandler extends AbstractWebSocketHandler {
    @Autowired
    GreetingMap greetingMap;

    @Override
    protected void handleTextMessage(WebSocketSession session, TextMessage message) throws IOException {
        // NullPointerException here
        String greeting = greetingMap.getSampleGreetings().get("hello") + " " + message.getPayload();
        session.sendMessage(new TextMessage(greeting));
    }
}

Приведенный выше код выдает NullPointerException

Чего здесь может не хватать?

1 Ответ

1 голос
/ 18 апреля 2020

Попробуйте использовать внедрение зависимости с конструктором вместо @Autowired:

private GreetingMap greetingMap;

public WebsocketHandler(GreetingMap greetingMap){
    this.greetingMap = greetingMap
}
...