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:
- 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;
}
}
- 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;
}
}
- Via velden (Field Injection) — afhankelijkheden worden direct in de velden geïnjecteerd met behulp van de
@Autowiredannotatie.
@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.