Sobes.tech
Junior — Middle

Este asigurată crearea aceleiași instanțe a componentei atunci când se utilizează adnotarea @Autowired în diferite părți ale unei clase marcate cu @Component?

sobes.tech AI

Răspuns de la AI

Da, utilizând adnotarea @Autowired în Spring Framework pentru injecția de dependențe într-o clasă marcată ca @Component, în mod implicit se creează o singură instanță a componentei (scop Singleton). Aceasta înseamnă că în diferite locuri din clasă, unde aceeași componentă este injectată prin @Autowired, se va folosi aceeași instanță.

De exemplu:

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

    @Autowired
    private MyRepository repo2;

    public void doSomething() {
        // repo1 și repo2 fac referire la aceeași instanță de MyRepository
    }
}

Astfel, Spring gestionează ciclul de viață al componentelor și asigură reutilizarea unei singure instanțe, dacă nu se specifică altfel (de exemplu, cu adnotarea @Scope).