Junior — Middle
Welche Methoden der Dependency Injection gibt es im Rahmen des Spring Framework?
sobes.tech KI
Antwort von AI
Im Spring Framework kann die Dependency Injection (DI) auf die folgenden Hauptarten implementiert werden:
- Über den Konstruktor — Abhängigkeiten werden über die Parameter des Konstruktors der Klasse übergeben. Dies ist die empfohlene Methode, da sie Abhängigkeiten explizit macht und das Testen erleichtert.
@Component
public class Service {
private final Repository repository;
public Service(Repository repository) {
this.repository = repository;
}
}
- Über Setter (Setter Injection) — Abhängigkeiten werden nach der Erstellung des Objekts über Setter-Methoden gesetzt.
@Component
public class Service {
private Repository repository;
@Autowired
public void setRepository(Repository repository) {
this.repository = repository;
}
}
- Über Felder (Field Injection) — Abhängigkeiten werden direkt in die Felder mit der
@Autowired-Annotation injiziert.
@Component
public class Service {
@Autowired
private Repository repository;
}
Diese Methode ist weniger bevorzugt, da sie das Testen erschwert und das Prinzip der Inversion of Control verletzt.
Alle diese Methoden werden von Spring unterstützt und ermöglichen eine flexible Verwaltung der Abhängigkeiten der Komponenten der Anwendung.