Junior — Middle
@Component ile işaretlenmiş bir sınıfın farklı bölümlerinde @Autowired anotasyonu kullanıldığında aynı bileşen örneğinin oluşturulması garanti edilir mi?
sobes.tech yapay zeka
AI'dan gelen yanıt
Evet, Spring Framework'te bağımlılık enjeksiyonu için @Autowired anotasyonu kullanıldığında ve @Component ile işaretlenmiş bir sınıfa uygulandığında, varsayılan olarak bir bileşen örneği (Singleton kapsamı) oluşturulur. Bu, sınıfın farklı yerlerinde aynı bileşen @Autowired ile enjekte edildiğinde, aynı örneğin kullanılacağı anlamına gelir.
Örneğin:
@Component
public class MyService {
@Autowired
private MyRepository repo1;
@Autowired
private MyRepository repo2;
public void doSomething() {
// repo1 ve repo2 aynı MyRepository örneğine referans verir
}
}
Bu şekilde, Spring bileşenlerin yaşam döngüsünü yönetir ve aynı örneğin tekrar kullanılmasını sağlar, aksi belirtilmedikçe (@Scope anotasyonu gibi).