Sobes.tech
Junior — Middle

Auf welche Weise kann die Dependency Injection für Beans in einer Anwendung implementiert werden?

sobes.tech KI

Antwort von AI

In Java kann die Dependency Injection (DI) für Beans auf verschiedene Weisen implementiert werden:

  1. Über den Konstruktor — Abhängigkeiten werden an den Konstruktor der Klasse übergeben. Dies ist die bevorzugte Methode, da sie die Erstellung unveränderlicher Objekte ermöglicht und das Testen erleichtert.
public class Service {
    private final Repository repo;

    public Service(Repository repo) {
        this.repo = repo;
    }
}
  1. Über Setter (Setter Injection) — Abhängigkeiten werden nach der Objekterstellung über Setter-Methoden gesetzt.
public class Service {
    private Repository repo;

    public void setRepository(Repository repo) {
        this.repo = repo;
    }
}
  1. Über Felder (Field Injection) — Abhängigkeiten werden direkt in die Felder der Klasse mit Annotations wie @Autowired in Spring injiziert.
public class Service {
    @Autowired
    private Repository repo;
}
  1. Über Fabrikmethoden oder Konfigurationsklassen — die Erstellung und Verknüpfung von Beans erfolgt in Konfigurationsklassen oder XML.

Jede Methode hat ihre Vor- und Nachteile, aber in modernen Anwendungen wird meist die Konstruktorinjektion oder die Spring-Annotations für die automatische Verknüpfung verwendet.