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

Что произойдет, если Spring найдет несколько Bean

Spring выбросит исключение NoUniqueBeanDefinitionException, если обнаружит несколько бинов одного типа и попытается внедрить их через @Autowired без дополнительных квалификаторов.

Для решения можно:

  1. Использовать @Qualifier для указания конкретного бина
  2. Сделать один бин @Primary
  3. Использовать @Resource(name = "beanName")

Пример:

java
@Component("firstService")
class FirstService implements Service {}

@Component("secondService")
class SecondService implements Service {}

@Service
class ClientService {
    @Autowired
    @Qualifier("firstService")  // явное указание
    private Service service;
}
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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