Встречается на собеседованиях • сегодня
Что будет при старте двух бинов с одинаковым типом
При старте двух бинов с одинаковым типом Spring по умолчанию выбросит исключение BeanDefinitionStoreException, так как не сможет однозначно определить, какой бин инжектить.
Чтобы решить эту проблему, можно:
- Использовать
@Qualifierдля указания конкретного бина - Сделать один из бинов
@Primary - Использовать имена бинов напрямую через
@Resource
Пример:
java
@Configuration
class Config {
@Bean
@Primary
MyService firstService() { return new MyService(); }
@Bean
MyService secondService() { return new MyService(); }
}
@Component
class Client {
@Autowired
MyService service; // будет инжектирован firstService
@Autowired
@Qualifier("secondService")
MyService namedService;
}
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы