Встречается на собеседованиях • сегодня
Что будет при инъекции бина через интерфейс, если интерфейс имеет две реализации
При инъекции бина через интерфейс с двумя реализациями Spring выбросит исключение NoUniqueBeanDefinitionException, так как не сможет определить, какую именно реализацию использовать.
Решение:
- Использовать
@Qualifierдля явного указания бина:
java
@Autowired
@Qualifier("firstImpl")
private MyInterface myBean;- Пометить одну из реализаций
@Primary, чтобы она использовалась по умолчанию:
java
@Primary
@Component
public class FirstImpl implements MyInterface { ... }- Использовать
@Resource(name = "beanName")для выбора конкретной реализации.

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