解决:
1.Spring Cloud/Boot WebSocket 无法注入其他类的解决办法https://blog.csdn.net/tornadojava/article/details/78781474
2.Spring和SpringBoot项目中的WebSocket中引用对象的不同写法https://blog.csdn.net/eric520zenobia/article/details/84955250
第一步:编写 YaoEndpointConfigure 类
package boot.spring.config;
import org.springframework.beans.factory.BeanFactory;
import org.springframework.beans.BeansException;
import org.springframework.context.ApplicationContext;
import org.springframework.context.ApplicationContextAware;
import javax.websocket.server.ServerEndpointConfig;
public class YaoEndpointConfigure extends ServerEndpointConfig.Configurator
implements ApplicationContextAware {
private static volatile BeanFactory context;
@Override
public <T> T getEndpointInstance(Class<T> clazz) throws InstantiationException
{
return context.getBean(clazz);
}
@Override
public void setApplicationContext(ApplicationContext applicationContext) throws BeansException
{
YaoEndpointConfigure.context = applicationContext;
}
}
第二步:在websocket配置处理器中填写
@Bean
public YaoEndpointConfigure newConfigure()
{
return new YaoEndpointConfigure();
}
第三步:修改MyWebSocket的注解
@ServerEndpoint(value = "XX",configurator = YaoEndpointConfigure.class)