Sobes.tech
Junior — Middle

Welke methoden voor dependency injection zijn er binnen het Spring Framework?

sobes.tech AI

Antwoord van AI

In Spring Framework kan dependency injection (DI) op de volgende hoofdwijzen worden geïmplementeerd:

  1. Via de constructor — afhankelijkheden worden via de parameters van de klasseconstructor doorgegeven. Dit is de meest aanbevolen methode, omdat het afhankelijkheden expliciet maakt en testen vergemakkelijkt.
@Component
public class Service {
    private final Repository repository;

    public Service(Repository repository) {
        this.repository = repository;
    }
}
  1. Via setters (Setter Injection) — afhankelijkheden worden ingesteld via setter-methoden na het maken van het object.
@Component
public class Service {
    private Repository repository;

    @Autowired
    public void setRepository(Repository repository) {
        this.repository = repository;
    }
}
  1. Via velden (Field Injection) — afhankelijkheden worden direct in de velden geïnjecteerd met behulp van de @Autowired annotatie.
@Component
public class Service {
    @Autowired
    private Repository repository;
}

Deze methode wordt minder aanbevolen, omdat het testen bemoeilijkt en het principe van inversie van afhankelijkheden schendt.

Alle deze methoden worden ondersteund door Spring en maken het mogelijk om afhankelijkheden van componenten van de applicatie flexibel te beheren.