Junior — Middle
Wordt de creatie van dezelfde instantie van de component gegarandeerd bij gebruik van de @Autowired-annotatie in verschillende delen van een met @Component gemarkeerde klasse?
sobes.tech AI
Antwoord van AI
Ja, bij het gebruik van de annotatie @Autowired in Spring Framework voor dependency injection in een klasse gemarkeerd als @Component, wordt standaard één instantie van de component aangemaakt (Singleton scope). Dit betekent dat op verschillende plaatsen in de klasse, waar dezelfde component via @Autowired wordt geïnjecteerd, dezelfde instantie wordt gebruikt.
Bijvoorbeeld:
@Component
public class MyService {
@Autowired
private MyRepository repo1;
@Autowired
private MyRepository repo2;
public void doSomething() {
// repo1 en repo2 verwijzen naar dezelfde instantie van MyRepository
}
}
Op deze manier beheert Spring de levenscyclus van de componenten en zorgt het voor hergebruik van één enkele instantie, tenzij anders aangegeven (bijvoorbeeld met de annotatie @Scope).