Zum Hauptinhalt springen

Spring Core und Dependency Injection

Worauf die Prüfung abzielt

Du sollst erklären können, wie Spring Objekte erzeugt, zusammensteckt, konfiguriert und verwaltet.

Das musst du können

  • IoC: Die Kontrolle über die Objekterstellung liegt beim Spring-Container, nicht mehr im eigenen Code.
  • Dependency Injection: Abhängigkeiten kommen von außen — die Klasse baut sie nicht selbst.
  • Bean: Ein vom IoC-Container verwaltetes Objekt.
  • ApplicationContext: Der zentrale Spring-Container.
  • BeanFactory: Der einfachere IoC-Container darunter.
  • BeanDefinition: Das Rezept; die Bean ist das fertige Objekt.
  • Constructor Injection: Bevorzugt für Pflicht-Abhängigkeiten.
  • @Primary: Die Standard-Bean, wenn mehrere Kandidaten passen.
  • @Qualifier: Eine bestimmte Bean auswählen.

Passende Buchkapitel

Typische Prüfungsfalle

@Service allein macht noch keine Bean. Die Klasse muss per Component Scanning gefunden oder anders registriert werden.

Kurz selbst prüfen

  • Warum erzeugt new OrderRepository() enge Kopplung?
  • IoC und Dependency Injection — was ist was?
  • Warum Constructor Injection?
  • Zwei Beans passen zu einer Injection — was passiert?
Musterantworten

new OrderRepository() bindet OrderService fest an eine konkrete Implementierung. Austauschen, Konfigurieren und Testen wird schwerer.

IoC ist das Prinzip: Spring steuert Erzeugung und Verdrahtung. Dependency Injection ist die Technik: Objekte bekommen Abhängigkeiten von außen.

Constructor Injection macht Pflicht-Abhängigkeiten sichtbar, Felder können final sein, Tests können die Klasse direkt instanziieren.

Passen zwei Beans, wirft Spring meist einen Ambiguity-Fehler — außer du wählst per @Primary, @Qualifier, spezifischem Typ oder Collection Injection.

Merksatz

IoC ist die Idee. Dependency Injection ist Springs Hauptweg, sie umzusetzen.