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

Как уточнить какой именно Bean заинжектить

В Spring можно уточнить конкретный бин для инъекции несколькими способами:

  1. @Qualifier - явное указание имени бина:
java
@Autowired
@Qualifier("myBeanImpl")
private MyBean myBean;
  1. @Primary - помечает бин как основной при наличии нескольких реализаций:
java
@Primary
@Service
public class PrimaryServiceImpl implements MyService {}
  1. Имя поля/параметра - если есть бин с таким же именем:
java
@Autowired
private MyService primaryServiceImpl; // совпадает с именем бина
  1. Кастомные аннотации - создание своей аннотации с @Qualifier:
java
@Target({FIELD, PARAMETER})
@Retention(RUNTIME)
@Qualifier
public @interface MyCustomQualifier {}
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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