Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/354.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 对于从PerConnectionWebSocketHandler实例化的类,自动连接是否有效?_Java_Spring Boot_Configuration Files_Autowired_Spring Java Config - Fatal编程技术网

Java 对于从PerConnectionWebSocketHandler实例化的类,自动连接是否有效?

Java 对于从PerConnectionWebSocketHandler实例化的类,自动连接是否有效?,java,spring-boot,configuration-files,autowired,spring-java-config,Java,Spring Boot,Configuration Files,Autowired,Spring Java Config,我可以成功读取main类中HandlerSettings的自动连接实例,因此我知道application.properties条目是正确的 @Component @ConfigurationProperties(prefix="handler") public class HandlerSettings { private int timeout; public int getTimeout(){ return timeout; } publi

我可以成功读取main类中HandlerSettings的自动连接实例,因此我知道application.properties条目是正确的

@Component
@ConfigurationProperties(prefix="handler")
public class HandlerSettings {
    private int timeout;

    public int getTimeout(){
        return timeout;
    }

    public void setTimeout(int timeout){
        this.timeout = timeout;
    }
}
我在尝试自动连接MyHandler类中的字段时遇到困难,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
中的示例没有说明在继承的情况下应该做什么,也没有说明使用PerConnectionWebSocketHandler实例化类的方式


我尝试在处理程序中自动关联字段,但未成功。如果类由PerConnectionWebSocketHandler实例化,则可以自动连线?如果是这样,我是否需要做一些特殊的事情来自动连接基类,而不是扩展它的类

按照源代码执行,除非您在中设置了
PerConnectionWebSocketHandler.setBeanFactory
将实例化一个没有注入bean的处理程序

@SpringBootApplication
@RestController
@EnableWebSocket
@EnableConfigurationProperties(HandlerSettings.class)
public class MyController implements WebSocketConfigurer {

    @Autowired
    private BeanFactory beanFactory;

    @Bean
    public WebSocketHandler myHandler() {
        PerConnectionWebSocketHandler perConnectionWebSocketHandler = new PerConnectionWebSocketHandler(MyHandler.class);
        perConnectionWebSocketHandler.setBeanFactory(beanFactory);
        return perConnectionWebSocketHandler;
    }
}

此更改不足以获取MyHandler.properties中application.properties中配置的HandlerSettings。对于我来说,我的处理程序类中的自动连接bean按预期工作