Назад к вопросам
DNS
Middle+
8
Если у тебя есть два бина, как выбрать один из них по умолчанию?
Компании, где спрашивали
Ответ от нейросети
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 для явного указания нужного бина при внедрении.