Junior — Middle
Spring konteynerinde iki aynı bean kullanırken çatışmayı nasıl önleyebilirsiniz?
sobes.tech yapay zeka
AI'dan gelen yanıt
Spring konteynerinde, iki bean aynı ada (kimlik) sahipse, bir çatışma meydana gelir. Çatışmayı önlemek için:
@Component("isim")anotasyonu veya XML/Java yapılandırmasında farklı isimler kullanın.- Bağımlılık enjeksiyonunda
@Qualifieranotasyonunu kullanarak hangi bean'in kullanılacağını açıkça belirtin. - Bir bean'i
@Primaryyapın, böylece çatışma durumunda varsayılan olarak kullanılır.
@Qualifier ile örnek:
@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;
}
}