当一个接口的实现类有多个时,通过@Component注册多个实现类,注入时候用@Autowired,Spring通过下面两种方式标记你要注入哪个实现:
- @Primary:
被标注该注解实现类,被优化考虑注入对象 - @Qualifier:
先声明后使用,相当于多个实现起多个不同的名字,注入时候告诉我你要注入哪个
@Autowired
@Qualifier("xxx")
private XXXService xxxService;
Spring中@Autowired与@Qualifier的使用解析
本文详细介绍了在Spring框架中,当一个接口有多个实现类时,如何通过@Component注解注册多个实现,并利用@Autowired和@Qualifier注解进行精确注入。@Primary注解用于标记默认注入的实现类,而@Qualifier注解则允许为不同实现指定别名,以便在注入时明确选择所需的服务。了解这两个注解的正确使用,能有效避免依赖注入的混乱,提高代码的可读性和可维护性。
当一个接口的实现类有多个时,通过@Component注册多个实现类,注入时候用@Autowired,Spring通过下面两种方式标记你要注入哪个实现:
被标注该注解实现类,被优化考虑注入对象先声明后使用,相当于多个实现起多个不同的名字,注入时候告诉我你要注入哪个 @Autowired
@Qualifier("xxx")
private XXXService xxxService;
1612

被折叠的 条评论
为什么被折叠?