Junior — Middle
Viene garantita la creazione della stessa istanza del componente quando si utilizza l'annotazione @Autowired in diverse parti di una classe contrassegnata con @Component?
sobes.tech AI
Risposta dell'AI
Sì, utilizzando l'annotazione @Autowired nel framework Spring per l'iniezione delle dipendenze in una classe annotata come @Component, di default viene creato un singolo esempio del componente (scope Singleton). Ciò significa che nei diversi punti della classe in cui viene iniettato lo stesso componente tramite @Autowired, verrà utilizzato lo stesso esempio.
Ad esempio:
@Component
public class MyService {
@Autowired
private MyRepository repo1;
@Autowired
private MyRepository repo2;
public void doSomething() {
// repo1 e repo2 fanno riferimento allo stesso esempio di MyRepository
}
}
In questo modo, Spring gestisce il ciclo di vita dei componenti e garantisce il riutilizzo di un singolo esempio, a meno che non venga specificato diversamente (ad esempio, con l'annotazione @Scope).