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

  1. 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;
    }
}
  1. 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;
    }
}
  1. Via velden (Field Injection) — afhankelijkheden worden direct in de velden van de klasse geïnjecteerd met behulp van annotaties, bijvoorbeeld @Autowired in Spring.
public class Service {
    @Autowired
    private Repository repo;
}
  1. 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.