Sobes.tech
Назад к вопросам
Middle+
8

Если у тебя есть два бина, как выбрать один из них по умолчанию?

Компании, где спрашивали
DNSDNS

Ответ от нейросети

sobes.tech AI

В Spring Framework, если у вас есть два бина одного типа, и нужно выбрать один из них по умолчанию, можно использовать аннотацию @Primary на том бине, который должен быть выбран по умолчанию.

Пример:

@Configuration
public class AppConfig {

    @Bean
    @Primary
    public Service serviceOne() {
        return new ServiceImplOne();
    }

    @Bean
    public Service serviceTwo() {
        return new ServiceImplTwo();
    }
}

В этом примере, если где-то в коде будет внедрён бин типа Service без указания конкретного имени, Spring выберет serviceOne, так как он помечен @Primary.

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