byType–>byName
1.根据Type从spring容器中找到多个Bean
2.判断是不是isAutowireCandidate
@Bean
public OrderService orderService1() {
return new OrderService();
}
@Bean(autowiredCandidate = false)
public OrderService orderService2() {
return new OrderService();
}
3.判断是不是符合Qualifier
@Bean
public OrderService orderService1() {
return new OrderService();
}
@Bean
@Qualifier("hello")
public OrderService orderService2() {
return new OrderService();
}
@Autowired
@Qualifier("hello")
private OrderService orderService3;
4.取@Primary标注了的Bean
@Bean
public OrderService orderService1() {
return new OrderService();
}
@Bean
@Primary
public OrderService orderService2() {
return new OrderService();
}
@Autowired
private OrderService orderService3;
5.取优先级最高的Bean
@Bean
@Priority(1)
public OrderService orderService1() {
return new OrderService();
}
@Bean
@Priority(2)
public OrderService orderService2() {
return new OrderService();
}
@Autowired
private OrderService orderService3;
6.根据属性名字选出一个