Sobes.tech
Junior — Middle

@Component bilan belgilangan sinfning turli qismlarida @Autowired annotatsiyasidan foydalanilganda, bir xil komponent nusxasining yaratilishi kafolatlanadimi?

sobes.tech AI

AIdan javob

Ha, Spring Frameworkda @Autowired anotatsiyasi yordamida bog'liqliklarni in'ektsiya qilish uchun @Component bilan belgilangan sinfda, standart tarzda, komponentning bitta nusxasi (Singleton doirasi) yaratiladi. Bu shuni anglatadiki, @Autowired orqali bir xil komponent in'ektsiya qilingan turli joylarda, bir xil nusxa ishlatiladi.

Masalan:

@Component
public class MyService {
    @Autowired
    private MyRepository repo1;

    @Autowired
    private MyRepository repo2;

    public void doSomething() {
        // repo1 va repo2 MyRepository ning bir xil nusxasiga murojaat qilmoqda
    }
}

Shu tarzda, Spring komponentlarning hayot aylanishini boshqaradi va bir xil nusxani qayta ishlatishni ta'minlaydi, agar boshqacha ko'rsatilmagan bo'lsa (masalan, @Scope anotatsiyasi yordamida).