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

Как указать в библиотеке какой бин использовать при добавлении нового бина с таким же типом

В Spring можно использовать аннотации @Primary или @Qualifier для разрешения конфликтов при наличии нескольких бинов одного типа.

  1. @Primary указывает, что данный бин должен быть выбран по умолчанию:
java
@Configuration
public class AppConfig {
    @Bean
    @Primary
    public MyService primaryService() {
        return new MyServiceImpl();
    }
text
@Bean
public MyService secondaryService() {
    return new AnotherServiceImpl();
}

}

text

2. `@Qualifier` позволяет явно указать имя бина при внедрении:
```java
@Service
public class MyClient {
    @Autowired
    @Qualifier("secondaryService")
    private MyService service;
}

Также можно использовать кастомные квалификаторы, создав свою аннотацию с @Qualifier. @Primary удобен, когда есть явный фаворит, а @Qualifier - для точного указания.

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

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

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

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