Spring Boot @Qualifier 和 @Autowired 的使用场景 - 唯一实现类的注入
在 Spring Boot 中,@Qualifier 和 @Autowired 通常是一起使用的。@Qualifier 注解用于指定要注入的 Bean 的名称,而 @Autowired 注解用于自动装配依赖关系。
然而,有一种情况下 @Qualifier 和 @Autowired 不会一起使用,即当只有一个实现类实现了某个接口时。在这种情况下,Spring 会自动选择唯一的实现类进行注入,而不需要使用 @Qualifier 注解来指定具体的实现类。
例如,假设有一个接口 A 和一个实现类 AImpl:
public interface A {
void method();
}
@Component
public class AImpl implements A {
public void method() {
// 实现方法
}
}
在另一个类中,可以直接使用 @Autowired 注解来注入 A 接口的实现类,而不需要使用 @Qualifier 注解:
@Component
public class B {
@Autowired
private A a;
// 使用 a 进行操作
}
在这种情况下,Spring 会自动选择 AImpl 作为 A 接口的实现类进行注入。
总结来说,@Qualifier 和 @Autowired 通常是一起使用的,但在只有一个实现类的情况下,可以省略 @Qualifier 注解。
原文地址: https://www.cveoy.top/t/topic/qnKD 著作权归作者所有。请勿转载和采集!