Sobes.tech
Junior — Middle

Spring konteynerida ikki xil bean ishlatishda qanday muammo yuzaga kelmasligini qanday oldini olish mumkin?

sobes.tech AI

AIdan javob

Spring konteynerida, agar ikki bean bir xil nom (identifikator)ga ega bo‘lsa, muammo yuzaga keladi. Muammoni oldini olish uchun:

  • @Component("nom") anotatsiyasi yoki XML/Java konfiguratsiyasida turli nomlarni foydalaning.
  • Qaramlikni injektsiya qilishda @Qualifier anotatsiyasidan foydalanib, qaysi bean ni ishlatishni aniq ko‘rsating.
  • Bir bean @Primary qilib qo‘ying, shunda u muammo bo‘lsa ham default sifatida ishlatiladi.

@Qualifier bilan misol:

@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;
    }
}