Spring框架参考手册(4.2.6版本)翻译——第三部分 核心技术 6.9.5 使用泛型作为自动装配限定符

 6.9.5 使用泛型作为自动装配限定符

除了@Qualifier之外,还可以使用Java泛型类型作为限定隐式形式。例如,假设您具有以下配置:

@Configuration
public class MyConfiguration {

    @Bean
    public StringStore stringStore() {
        return new StringStore();
    }

    @Bean
    public IntegerStore integerStore() {
        return new IntegerStore();
    }

}

假设上面的bean实现了一个通用接口,即Store <String>Store <Integer>@Autowire Store接口泛型将被用作限定符:

@Autowired
private Store<String> s1; // <String> qualifier, injects the stringStore bean
@Autowired
private Store<Integer> s2; // <Integer> qualifier, injects the integerStore bean

泛型限定符也适用于自动装配ListsMapsArrays

// Inject all Store beans as long as they have an <Integer> generic
// Store<String> beans will not appear in this list
@Autowired
private List<Store<Integer>> s;

原文地址:https://www.cnblogs.com/springmorning/p/10402710.html