Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/400.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 按泛型类型注入bean?_Java_Spring_Generics_Dependency Injection - Fatal编程技术网

Java 按泛型类型注入bean?

Java 按泛型类型注入bean?,java,spring,generics,dependency-injection,Java,Spring,Generics,Dependency Injection,是否可以(使用Spring)自动按类的泛型类型注入bean 例如: class AppConfig { @Bean public MyWebServicePort get() { return new Webservice().getPort(); } } abstract class BaseClient<T> { @Autowired T port; } class MyClientService extends Ba

是否可以(使用
Spring
)自动按类的泛型类型注入bean

例如:

class AppConfig {

    @Bean
    public MyWebServicePort get() {
        return new Webservice().getPort();
    }
}

abstract class BaseClient<T> {
    @Autowired
    T port;
}

class MyClientService extends BaseClient<MyWebServicePort> {
    void run() {
        //use port, which is instanceof MyWebServicePort.class
    }
}
类AppConfig{
@豆子
公共MyWebServicePort get(){
返回新的Webservice().getPort();
}
}
抽象类BaseClient{
@自动连线
T端口;
}
类MyClientService扩展了BaseClient{
无效运行(){
//使用端口,它是MyWebServicePort.class的实例
}
}

是否可能,或者我必须手动显式地在每个客户端服务实现中注入每个端口?

有许多内部类处理将泛型解析为类型的操作,包括org.springframework.core.GenericTypeResolver。您可以使用@Qualifier注释,并通过实现org.springframework.core.convert.converter.ConverterFactory自己解决它。不过我不是这方面的专家,只是感兴趣而已。