0
我可以在主類中成功讀取HandlerSettings的自動裝配實例,所以我知道我的application.properties條目是正確的。自動裝配是否從PerConnectionWebSocketHandler實例化的類中工作?
@Component
@ConfigurationProperties(prefix="handler")
public class HandlerSettings {
private int timeout;
public int getTimeout(){
return timeout;
}
public void setTimeout(int timeout){
this.timeout = timeout;
}
}
我有試圖自動裝配在類MyHandler的,這是一個PerConnectionWebSocketHandler中實例化的字段困難。
@SpringBootApplication
@RestController
@EnableWebSocket
@EnableConfigurationProperties(HandlerSettings.class)
public class MyController implements WebSocketConfigurer{
@Bean
public WebSocketHandler myHandler() {
return new PerConnectionWebSocketHandler(MyHandler.class));
}
我想在MyHandler的抽象基類中自動裝入字段。
@Component
public abstract class Handler implements WebSocketHandler {
@Autowired
private HandlerSettings handlerSettings;
...
}
從MyHandler的繼承處理程序:
public class MyHandler extends Handler
的例子在Spring documentation沒有解決如何在繼承的任一情況下,或類實例化與PerConnectionWebSocketHandler的方式做。
我已經嘗試過在處理程序中自動裝入字段失敗。如果該類是由PerConnectionWebSocketHandler實例化的,那麼可以自動裝配嗎?如果是這樣,有什麼特別的我必須做自動裝配基類,但不是擴展它的類?
此更改不足以獲取MyHandler中application.properties中配置的HandlerSettings。 – mattm
爲我工作,我的處理程序類中的自動裝配bean按預期工作 – Christian