Встречается на собеседованиях • сегодня
Как указать какую реализацию Bean нужно использовать при внедрении в Spring
В Spring можно указать конкретную реализацию Bean несколькими способами:
@Qualifier- аннотация для уточнения имени бина:
java
@Autowired
@Qualifier("myBeanImpl")
private MyBean myBean;- Имя бина в
@Component/@Service:
java
@Service("specialService")
public class SpecialServiceImpl implements MyService {}- Primary Bean - если нужно указать реализацию по умолчанию:
java
@Primary
@Service
public class DefaultServiceImpl implements MyService {}- Явное указание в конфигурации:
java
@Bean
public MyService myService() {
return new SpecialServiceImpl();
}Приоритет: @Qualifier > @Primary > тип/имя. В случае конфликтов лучше использовать @Qualifier для явного указания.

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