@Autowired 为空 手动注入

104 阅读1分钟

声明一个全局的ApplicationContext private static ApplicationContext applicationContext;

在给ApplicationContext搞一个set方法

public static void setApplicationContext(ApplicationContext applicationContext) { WebSocketSever.applicationContext = applicationContext; }

在启动类里面调用该set方法 给ApplicationContext赋值

// 这个是启动类里面就有的 ConfigurableApplicationContext run = SpringApplication.run(Application.class, args); // 范围值就是ApplicationContext WebSocketSever.setApplicationContext(run);

再给需要的类赋值

participantsService = applicationContext.getBean(ParticipantsService.class);