Zum Hauptinhalt springen

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.
  • @Bean registriert den Rückgabewert einer Methode als Spring Bean.
  • @Value injiziert einfache Property-Werte.
  • @ConfigurationProperties bindet 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

Typische Prüfungsfalle

Spring-Singleton ≠ klassisches Java-Singleton. Gemeint ist: eine Instanz pro Container.

Kurz selbst prüfen

  • @Component vs. @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.