可以項目啟動的時候?qū)⑸舷挛膫鬟f給 WebSocketServer,通過上下文獲取Bean來解決
public static void main(String[] args) {
ConfigurableApplicationContext run = SpringApplication.run(HospitalApplication.class, args);
//解決WebSocket不能注入的問題
WebSocketServer.setApplicationContext(run);
}
WebSocketServer.class 中:
private static ApplicationContext applicationContext;
public static void setApplicationContext(ApplicationContext applicationContext) {
WebSocketServer.applicationContext = applicationContext;
}
同時@Value 獲取不到,可以注入到Bean中解決
比如獲取端口號
@Component
@Data
public class ConfigValue {
@Value("${server.port}")
private Integer port;
}