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

Как разрешать конфликты при построении Bean

В Spring конфликты бинов разрешаются несколькими способами:

  1. @Primary – помечает бин как основной при наличии нескольких реализаций одного типа.
java
@Bean
@Primary
public MyService primaryService() {
    return new PrimaryServiceImpl();
}
  1. @Qualifier – явно указывает, какой бин нужно внедрить.
java
@Autowired
@Qualifier("secondaryService")
private MyService myService;
  1. Именованные бины – если бины имеют разные имена, можно ссылаться по имени.
java
@Bean("customService")
public MyService customService() {
    return new CustomServiceImpl();
}
  1. @Conditional – условное создание бина на основе условий (например, профиля).

Если конфликт не разрешается, Spring выбрасывает NoUniqueBeanDefinitionException.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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