Встречается на собеседованиях • сегодня

Какой паттерн реализует аннотация @Qualifier

Аннотация @Qualifier в Spring реализует паттерн Dependency Injection (DI). Она позволяет уточнять, какой конкретный бин должен быть внедрен, когда есть несколько кандидатов одного типа. Это особенно полезно при наличии нескольких реализаций интерфейса.

Пример:

java
@Component
@Qualifier("smsService")
public class SmsService implements MessageService {
    @Override
    public void sendMessage() {
        System.out.println("Sending SMS");
    }
}

@Component
@Qualifier("emailService")
public class EmailService implements MessageService {
@Override
public void sendMessage() {
System.out.println("Sending email");
}
}

@Service
public class NotificationService {
private final MessageService messageService;

text
@Autowired
public NotificationService(@Qualifier("smsService") MessageService messageService) {
    this.messageService = messageService;
}

}

text
Здесь `@Qualifier` помогает выбрать нужную реализацию `MessageService`.
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы