websocket的@Component类中使用注入service报错null

Mr.Jia 2025-3-27 196 3/27

已配置这个且在类中已使用@Component还是注入为null

解决:

@ServerEndpoint(value = "/websocket/",configurator = SpringEndpointConfigurator.class) 需要创建SpringEndpointConfigurator
@Component
public class SpringEndpointConfigurator extends ServerEndpointConfig.Configurator implements ApplicationContextAware {

    private static ApplicationContext applicationContext;

    @Override
    public <T> T getEndpointInstance(Class<T> endpointClass) throws InstantiationException {
        // 从 Spring 容器中获取端点实例(确保依赖注入生效)
        return applicationContext.getBean(endpointClass);
    }

    @Override
    public void setApplicationContext(ApplicationContext context) throws BeansException {
        applicationContext = context;
    }
}
- THE END -

Mr.Jia

3月27日15:16

最后修改:2025年3月27日
0

共有 0 条评论