Sobes.tech
Назад к вопросам
Junior — Middle
67

Каким образом в 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 не указан.