在 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 注解。

Spring Boot @Qualifier 和 @Autowired 的使用场景 - 唯一实现类的注入

原文地址: https://www.cveoy.top/t/topic/qnKD 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录