Sobes.tech
Junior — Middle

Quelle est la finalité de l'annotation Qualifier dans le framework Spring pour l'injection de dépendances?

sobes.tech IA

Réponse de l'IA

Аннотация @Qualifier в Spring используется для уточнения, какой именно бин должен быть внедрён, когда в контексте существует несколько кандидатов одного типа.

Например, если есть два бина одного интерфейса, то без @Qualifier Spring не сможет выбрать, какой внедрить, и выдаст ошибку. С помощью @Qualifier можно явно указать имя нужного бина.

Пример:

@Component("beanA")
public class BeanA implements MyService {}

@Component("beanB")
public class BeanB implements MyService {}

@Service
public class MyConsumer {
    private final MyService myService;

    public MyConsumer(@Qualifier("beanA") MyService myService) {
        this.myService = myService;
    }
}

Здесь @Qualifier("beanA") говорит Spring внедрить бин с именем "beanA".