2 Überblick über Spring Boot

2.1 Einführung

Spring Boot ist ein Framework, das auf dem Spring Framework aufbaut und die Entwicklung von eigenständigen, produktionsreifen Spring-Anwendungen erleichtert. Es wurde geschaffen, um die Komplexität traditioneller Spring-Anwendungen zu reduzieren, indem es Konventionen über Konfiguration stellt und so den Entwicklungsprozess beschleunigt.

2.2 Motivation und Hintergrund

Die Entwicklung mit dem traditionellen Spring Framework erfordert oft umfangreiche XML-Konfigurationen oder Annotationen, um die gewünschte Funktionalität zu erreichen. Dies kann zeitaufwendig sein und führt zu komplexen Codebasen. Spring Boot adressiert diese Herausforderungen durch:

2.3 Kernkonzepte

  1. Konvention vor Konfiguration

    Spring Boot setzt auf sinnvolle Voreinstellungen, sodass Entwickler nicht jede Kleinigkeit konfigurieren müssen. Dies bedeutet, dass viele Einstellungen bereits vorkonfiguriert sind, was die Initialisierung neuer Projekte beschleunigt.

  2. Auto-Konfiguration

    Durch die automatische Konfiguration wird basierend auf den vorhandenen Abhängigkeiten und Beans im Klassenpfad entschieden, welche Einstellungen vorzunehmen sind. Dies reduziert den Bedarf an manueller Konfiguration erheblich.

  3. Starter-Abhängigkeiten

    Starter sind Maven- oder Gradle-Abhängigkeiten, die eine Gruppe von zusammengehörigen Bibliotheken kapseln. Beispiele sind spring-boot-starter-web für Web-Anwendungen oder spring-boot-starter-data-jpa für JPA-Anwendungen.

  4. Eingebettete Servlet-Container

    Anwendungen können ohne externen Application Server gestartet werden. Spring Boot unterstützt eingebettete Container wie Tomcat, Jetty und Undertow.

  5. Spring Boot CLI

    Ein Kommandozeilenwerkzeug, das die schnelle Entwicklung von Spring-Anwendungen ermöglicht, insbesondere durch die Verwendung von Groovy für schlankeren Code.

2.4 Vorteile von Spring Boot