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

Как зарегистрировать два Bean одного типа в контексте Spring

В Spring можно зарегистрировать несколько бинов одного типа, используя аннотации @Bean с разными именами или @Qualifier.

  1. Через @Bean в конфигурации:
java
@Configuration
public class AppConfig {
    @Bean("firstBean")
    public MyService firstService() {
        return new MyServiceImpl("First");
    }
text
@Bean("secondBean")
public MyService secondService() {
    return new MyServiceImpl("Second");
}

}

text

2. **Через `@Qualifier` при инъекции:**  
```java
@Service
public class ConsumerService {
    @Autowired
    @Qualifier("firstBean")
    private MyService service1;

    @Autowired
    @Qualifier("secondBean")
    private MyService service2;
}

Также можно использовать @Primary, чтобы указать бин по умолчанию.

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

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

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

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