一个接口多个实现Spring如何实现正确注入

  阅读源码的时候,时不时脑子中冒出一个问题:如果自己写一个单例的容器,一个接口多个实现怎么正确地将每个实现都缓存容器中并准确地注入呢?阅读Dubbo源码时也有类似的问题冒出来。

  对于@Autowire注解

            

   如果一个接口有多个实现,那么实际属性注入的过程中beanDefinition从逻辑上不知道用哪个具体的实现类的,IoC的过程中会报错。那么Spring提供了什么方式解决这个问题了?如果个人开发的话,应该会告诉Spring应该注入哪个具体的实现类;Spring亦是如此,提供了@Qualifier注解:

            

   对于@Qualifier 注解可以按名称注入, 而且注意是类名。

 

posted on 2021-11-15 12:16  池塘里洗澡的鸭子  阅读(586)  评论(0编辑  收藏  举报