Junior — Middle
Spring konteynerində iki eyni bean istifadə edərkən qarşıdurmanı necə qarşısını almaq olar?
sobes.tech Süni İntellekt
AI-dan cavab
Spring konteynerində, iki bean eyni adı (tanımlayıcı) ilə olarsa, konflikt yaranır. Konflikti qarşısını almaq üçün:
@Component("ad")annotasiyası və ya XML/Java konfiqurasiyasında müxtəlif adlar istifadə edin.- Asılılığı injektə edərkən
@Qualifierannotasiyasından istifadə edərək, hansı bean-in istifadə olunacağını açıq şəkildə göstərin. - Bir bean-i
@Primaryedin, beləliklə, konflikt zamanı default olaraq istifadə ediləcək.
@Qualifier nümunəsi:
@Component("beanOne")
public class BeanOne {}
@Component("beanTwo")
public class BeanTwo {}
@Service
public class MyService {
private final BeanOne beanOne;
public MyService(@Qualifier("beanOne") BeanOne beanOne) {
this.beanOne = beanOne;
}
}