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