Назад к вопросам
Junior — Middle
68
Каким образом в Spring можно задать конкретный тип Bean, используя аннотации для внедрения зависимости?
Ответ от нейросети
sobes.tech AI
В Spring для внедрения конкретного типа Bean при наличии нескольких кандидатов можно использовать аннотацию @Qualifier. Она позволяет указать имя или идентификатор нужного Bean, чтобы избежать неоднозначности.
Пример:
@Component("myBean1")
public class MyBean1 implements MyInterface { }
@Component("myBean2")
public class MyBean2 implements MyInterface { }
@Service
public class MyService {
private final MyInterface myBean;
public MyService(@Qualifier("myBean2") MyInterface myBean) {
this.myBean = myBean;
}
}
Также можно использовать @Primary на одном из Bean, чтобы он был выбран по умолчанию, если @Qualifier не указан.