Konfiguration, Profile, Scopes und Lifecycle
Worauf die Prüfung abzielt
Wie Beans registriert, konfiguriert, umgebungsabhängig ausgewählt, gescoped und durch ihren Lebenszyklus geführt werden.
Das musst du können
@Configuration-Klassen halten Bean-Definitionen.@Beanregistriert den Rückgabewert einer Methode als Spring Bean.@Valueinjiziert einfache Property-Werte.@ConfigurationPropertiesbindet strukturierte Konfiguration.- Profile schalten umgebungsspezifische Beans oder Config frei.
- Singleton: eine Instanz pro Spring-Container.
- Prototype: bei jeder Anforderung eine neue Instanz.
- Web-Scopes: u. a. Request und Session.
- Lifecycle: Erzeugung → Injection → Init-Callbacks → Nutzung → Destroy-Callbacks.
Passende Buchkapitel
- Java Configuration,
@Configuration, and@Bean - External Configuration,
@Value, and@ConfigurationProperties - Spring Profiles
- Bean Scopes
- Bean Lifecycle
- Week 2 Review
Typische Prüfungsfalle
Spring-Singleton ≠ klassisches Java-Singleton. Gemeint ist: eine Instanz pro Container.
Kurz selbst prüfen
@Componentvs.@Bean?- Wie wirken Profile auf die Bean-Registrierung?
- Singleton vs. Prototype?
- Bean-Lifecycle in der richtigen Reihenfolge?
Musterantworten
@Component steht auf der Klasse und wird per Component Scanning gefunden. @Bean steht auf einer Methode (meist in einer @Configuration-Klasse); der Rückgabewert wird die Bean.
Profile steuern, welche Beans oder Config-Werte in dev, test, prod & Co. aktiv sind.
Singleton = eine Instanz pro Container. Prototype = bei jeder Anforderung neu.
Typischer Ablauf: Instanziieren → Dependencies injizieren → Post-Processor und Aware-Callbacks → Initialisierung → Nutzung → beim Shutdown Zerstörung (Singleton).
Merksatz
Konfiguration sagt Spring, was zu erzeugen ist; Profile und Scopes, wann und wie.