Junior — Middle
125
Ի՞նչ մեթոդներ կան Spring-ում այն իրավիճակը կարգավորելու համար, երբ մի քանի Bean իրականացնում են նույն ինտերֆեյսը։
Ընկերությունները, որտեղ հարցրել են
Պատասխան AI-ից
sobes.tech AI
В Spring, когда несколько Bean реализуют один и тот же интерфейс, существует несколько способов разрешить неоднозначность при внедрении зависимостей:
- @Qualifier — позволяет явно указать, какой именно Bean нужно внедрить, используя имя или кастомный qualifier.
@Autowired
@Qualifier("beanName")
private MyInterface myBean;
- @Primary — помечает один из Bean как основной, который будет использоваться по умолчанию, если не указан qualifier.
@Primary
@Component
public class PrimaryBean implements MyInterface {}
- Внедрение коллекции Bean — можно внедрить все реализации интерфейса в виде списка или карты:
@Autowired
private List<MyInterface> beans;
- Использование имени Bean — внедрение по имени через
@Resource(name = "beanName").
Эти методы помогают управлять ситуациями с несколькими реализациями одного интерфейса и выбирать нужную в зависимости от контекста.