@Qualifier注解的原理

1.ContextAnnotationAutowireCandidateResolver是主要逻辑类

2.@Qualifier与@Autowired搭配使用,指定value时,首先按类型依赖查找,然后根据qualifier指定的value去配置合适的bean

3.@Qualifier有分组的功能

自定义的bean上加了指定名称@Qualifier,再在@Autowired上同样加了指定相同名字的@Qualifier时,则会一起导入(bean名称刚好与@Qualifier中指定的名称相同的,也会一起导入)

如:

@Qualifier("tag1)

@Component

public class A implements xxxInterface{

}

@Qualifier("tag1)

@Component

public class B implements xxxInterface{

}

@Component

public class C implements xxxInterface{

}

@Bean("tags")

public xxxInterface getTag1(){

return new D();

}

public class main{

@Autowired

@Qualifier("tag1)

private List list; //list中包含A,B,D对象,不包含C对象

}

你可能感兴趣的:(springboot,spring,boot,java)