Встречается на собеседованиях • сегодня
Как указать конкретную реализацию интерфейса для внедрения в Spring
В Spring можно указать конкретную реализацию интерфейса несколькими способами:
- @Qualifier - аннотация для уточнения бина:
java
@Autowired
@Qualifier("specificImpl")
private MyInterface myService;- @Primary - помечает реализацию как основную:
java
@Primary
@Component
public class PrimaryImpl implements MyInterface {}- Явное указание бина в конфигурации:
java
@Bean
public MyInterface myService() {
return new SpecificImpl();
}- Использование имени бина при инжекте:
java
@Autowired
private MyInterface specificImpl;(если бин зарегистрирован с именем "specificImpl")
Выбор зависит от контекста: @Qualifier - для точечного указания, @Primary - для глобального приоритета, явное объявление - для полного контроля.

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы