Spring SimpMessageTemplate没有类型为的限定bean

Spring SimpMessageTemplate没有类型为的限定bean,spring,spring-websocket,Spring,Spring Websocket,我试图在我的项目中使用SimpMessagingTemplate类通过websocket发送一些数据。 问题是我总是有一个错误,下面是完整的错误: Error creating bean with name 'webSocketUserNotificationManagerImpl' defined in URL [...]: Unsatisfied dependency expressed through constructor parameter 0; nested exception is

我试图在我的项目中使用
SimpMessagingTemplate
类通过websocket发送一些数据。 问题是我总是有一个错误,下面是完整的错误:

Error creating bean with name 'webSocketUserNotificationManagerImpl' defined in URL [...]: Unsatisfied dependency expressed through constructor parameter 0; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type 'org.springframework.messaging.simp.SimpMessagingTemplate' available: expected at least 1 bean which qualifies as autowire candidate. Dependency annotations: {}
下面是
webSocketuserNotificationManagerImpl
服务:

@Service
public class WebSocketUserNotificationManagerImpl implements UserNotificationManager {

    /**
     * Template to use to send back a message to the user via Web-socket.
     */
    private SimpMessagingTemplate template;

    public WebSocketUserNotificationManagerImpl(SimpMessagingTemplate template) {
        this.template = template;
    }

    private ObjectMapper jsonMapper = new ObjectMapper();

    @Override
    public void sendMessageToUser(String jobName, String eventType, Result result) {
       ....
    }

    public void sendDeleteMessageToUser(DeleteRequestsSocketMessage message, Principal principal) {
        this.template.convertAndSendToUser(principal.getName().toLowerCase(),
                                           "/status/delete", message);
    }
}
我的pom中有此依赖项:

<dependency>
    <groupId>org.springframework.security</groupId>
    <artifactId>spring-security-messaging</artifactId>
</dependency>

org.springframework.security
spring安全消息

怎么了,,为什么
SimpMessagingTemplate
bean不存在?

好的,因此在您的应用程序上下文中找不到bean
SimpMessagingTemplate
。因此,请确保bean是由spring在启动时在应用程序上下文中自动创建的,并根据创建需要提供注释,如:

@Configuration
@EnableWebSocketMessageBroker
public class WebSocketConfig extends AbstractWebSocketMessageBrokerConfigurer {

}
@Autowired
public WebSocketUserNotificationManagerImpl(SimpMessagingTemplate template) {
    this.template = template;
}
尝试使用构造函数注入,如:

@Configuration
@EnableWebSocketMessageBroker
public class WebSocketConfig extends AbstractWebSocketMessageBrokerConfigurer {

}
@Autowired
public WebSocketUserNotificationManagerImpl(SimpMessagingTemplate template) {
    this.template = template;
}

好的,因此在您的应用程序上下文中找不到bean
SimpMessageTemplate
。因此,请确保bean是由spring在启动时在应用程序上下文中自动创建的,并且根据创建需要提供注释,如:

@Configuration
@EnableWebSocketMessageBroker
public class WebSocketConfig extends AbstractWebSocketMessageBrokerConfigurer {

}
@Autowired
public WebSocketUserNotificationManagerImpl(SimpMessagingTemplate template) {
    this.template = template;
}
尝试使用构造函数注入,如:

@Configuration
@EnableWebSocketMessageBroker
public class WebSocketConfig extends AbstractWebSocketMessageBrokerConfigurer {

}
@Autowired
public WebSocketUserNotificationManagerImpl(SimpMessagingTemplate template) {
    this.template = template;
}