Junior — Middle
Op welke manieren kan dependency injection voor Beans in een applicatie worden geïmplementeerd?
sobes.tech AI
Antwoord van AI
In Java kan dependency injection (DI) voor Beans op verschillende manieren worden geïmplementeerd:
- Via de constructor — afhankelijkheden worden doorgegeven aan de constructor van de klasse. Dit is de meest aanbevolen methode, omdat het het maken van onveranderlijke objecten mogelijk maakt en testen vereenvoudigt.
public class Service {
private final Repository repo;
public Service(Repository repo) {
this.repo = repo;
}
}
- Via setters (Setter Injection) — afhankelijkheden worden ingesteld via setter-methoden na het maken van het object.
public class Service {
private Repository repo;
public void setRepository(Repository repo) {
this.repo = repo;
}
}
- Via velden (Field Injection) — afhankelijkheden worden direct in de velden van de klasse geïnjecteerd met behulp van annotaties, bijvoorbeeld
@Autowiredin Spring.
public class Service {
@Autowired
private Repository repo;
}
- Via fabrieksmethoden of configuratieklassen — het maken en koppelen van Beans gebeurt in configuratieklassen of XML.
Elke methode heeft zijn voor- en nadelen, maar in moderne toepassingen wordt meestal gebruik gemaakt van constructor-injectie of Spring-annotaties voor automatische koppeling van afhankelijkheden.