Назад к вопросам
СБЕР
Junior — Middle
68
Каким образом аннотация @Qualifier влияет на выбор бина в контексте внедрения зависимостей?
Компании, где спрашивали
Ответ от нейросети
sobes.tech AI
Аннотация @Qualifier в Java используется для уточнения, какой именно бин должен быть внедрён, когда в контексте существует несколько кандидатов одного типа.
Без @Qualifier контейнер внедрения зависимостей (например, Spring) не сможет однозначно выбрать бин и выдаст ошибку из-за неоднозначности.
Пример:
@Component
@Qualifier("fastService")
public class FastService implements Service {}
@Component
@Qualifier("slowService")
public class SlowService implements Service {}
@Autowired
@Qualifier("fastService")
private Service service;
В этом примере @Qualifier("fastService") указывает, что нужно внедрить именно бин с этим именем, а не другой бин типа Service.