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
- What Problem Does Spring Solve?
- ApplicationContext and BeanFactory
- Beans and Bean Definitions
- Dependency Injection Deep Dive
- Component Scanning and Package Structure
- Week 1 Review
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.