当一个接口有多个实现类,假如说DownloadServiceImlp1,DownloadServiceImlp2都实现了DownloadService,那么在Download业务的controller中注册Service服务时就会用到@Qualifier注解
@Autowired
@Qualifier("downloadSeriveImpl1") //这里注解的值是service实现类中@service注解值之一
private DownloadService service;
还可参考https://blog.csdn.net/qq_36567005/article/details/80611139
拓展:
1、@Autowired注解单独使用时是由于某接口只有一个实现类,Spring会按照byType的方式寻找接口的实现类,将其注入。
2、同一个类型拥有多个实现类的时候,只能通过byName的注入方式,用@Resource 或者@Qualifier注解