Sobes.tech
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).