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