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自己解决它。不过我不是这方面的专家,只是感兴趣而已。