介绍
@Qualifier限定哪个bean应该被自动注入。当Spring无法判断出哪个bean应该被注入时,@Qualifier注解有助于消除歧义bean的自动注入。
使用
public interface StockService {
}
@Component
public class StockServiceImpl1 implements StockService {
}
@Component
public class StockServiceImpl2 implements StockService {
}
@Component
public class OrderService {
@Autowired
@Qualifier("stockServiceImpl2")
StockService stockService;
public void pay() {
System.out.println(stockService + " is created");
}
}
public class Test {
public static void main(String[] args) {
AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext(AppConfig.class);
OrderService o2 = (OrderService) context.getBean("orderService");
o2.pay();
}
}
打印结果:
com.sonnie.annotest.StockServiceImpl2@4141d797 is created