Встречается на собеседованиях • сегодня
Что будешь делать, если в Spring контейнере будет больше одного бина одного типа
В Spring можно разрешить ситуацию с несколькими бинами одного типа несколькими способами:
1. **@Primary** - помечаем основной бин, который будет инжектиться по умолчанию:
```java
@Bean
@Primary
public MyService primaryService() {
return new PrimaryServiceImpl();
}
```
2. **@Qualifier** - явно указываем имя нужного бина при инжекции:
```java
@Autowired
@Qualifier("secondaryService")
private MyService service;
```
3. **Использование имени бина** - если бины имеют разные имена, можно инжектить по имени:
```java
@Autowired
private MyService primaryService;
```
4. **Список всех бинов** - можно инжектить все бины данного типа:
```java
@Autowired
private List services;
```
Если не применить ни один из этих способов, Spring выбросит NoUniqueBeanDefinitionException.

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