Встречается на собеседованиях • сегодня
Как можно указать конкретный тип Bean для внедрения через аннотации в Spring
В Spring можно указать конкретный тип Bean для внедрения несколькими способами:
- @Qualifier - уточняет имя бина:
java
@Autowired
@Qualifier("myBean")
private MyService service;- Имя поля/параметра - если бины имеют разные имена:
java
@Autowired
private MyService myServiceBean;- Primary - помечает предпочтительный бин:
java
@Primary
@Service
public class PrimaryService implements MyService {}- Именованные бины - через @Bean(name):
java
@Bean("specialBean")
public MyService createSpecialBean() {
return new SpecialServiceImpl();
}- Кастомные квалификаторы - создание своей аннотации:
java
@Target({FIELD, PARAMETER})
@Retention(RUNTIME)
@Qualifier
public @interface CustomQualifier {}
@CustomQualifier
@Service
public class CustomService implements MyService {}
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы