Definition „Spring Boot“ Was ist Spring Boot?

Autor / Redakteur: Gedeon Rauch / Stephan Augsten

Das Open-Source-Framework Spring reduziert die Komplexität der Java-Programmierung. Das Tool Spring Boot zielt gemäß dem Motto „Konvention vor Konfiguration“ darauf ab, die Entwicklung von Enterprise-Apllikationen in Java weiter zu vereinfachen.

Firma zum Thema

Wie der Name andeutet, „bootstrapt“ – die Framework-Erweiterung Spring Boot das Entwickeln einer Spring-Anwendung.
Wie der Name andeutet, „bootstrapt“ – die Framework-Erweiterung Spring Boot das Entwickeln einer Spring-Anwendung.
(Bild: Tim Foster / Unsplash)

2003 wurde mit Spring ein Open Source Framework entwickelt, das für Entwicklerinnen und Entwickler ein einsatzfähiges Basisgerüst zur Verfügung stellt, um die Programmierung zu vereinfachen. Um dies zu ermöglichen, reduziert Spring die Komplexität der Standard-Java-Spezifikation und des Komponentenmodells Enterprise JavaBeans.

Neue Spring-Projekte können anhand von Spring Boot, einer Konvention der Konfiguration, stark vereinfacht entwickelt werden. Das Ergebnis ist ein Gerüst, das für Java-Applikationen bestens geeignet ist, die nicht von der ersten Code-Zeile an neu programmiert werden müssen. Für langjährige Nutzer und Einsteiger gleichermaßen öffnet Spring Boot viele Möglichkeiten, um effizienter zu arbeiten. Entsprechend setzt inzwischen ein großer Teil neuer Spring-Programme auf Spring Boot.

Spring Boot in der Praxis

Der Einstieg in neue Projekte kann Grundkonfigurationen, die Definition von Nutzungsrichtlinien des Frameworks und relevanter Third-Party-Bibliotheken erheblich erleichtert werden. Genau dies liefert Spring Boot für Spring-Anwendungen. Eigenständige und produktionsreife Anwendungen können so deutlich schneller geschrieben werden, da keine manuelle Konfiguration mehr nötig ist.

Der Spring Initializer offeriert hierbei die einfache Auswahl von Web-Frameworks, Messaging, Datenbanken, Cloud-Software und vielen anderen Abhängigkeiten. Normalerweise beginnt die Erstellung einer Spring-Anwendung mit der manuellen Bearbeitung gleich mehrerer XML-Dateien für die Konfiguration, was mit Spring Boot entfällt. Vor allem für kleinere Microservices hat sich Spring Boot entsprechend als nützlich erwiesen.

Möglich wird dies durch vorgeschlagene „Starter“, die bereits vordefinierte Konfigurationen für verschiedene Zwecke beinhalten. Die Basis für Spring Boot stellt dabei das Designprinzip Konvention vor Konfiguration dar. Eigenständig lauffähige Anwendungen können mit einfachem Einhalten gängiger Konventionen entwickelt werden, ohne dass händische Konfiguration erforderlich ist.

Reduzierte Komplexität, erhöhte Bedienerfreundlichkeit

In der Praxis zeichnet sich Spring Boot durch Liste an Features aus, die die hohe Funktionalität von Spring auch ohne eigene XML-Konfiguration möglich machen. Hierzu zählen:

  • Einfache Erstellung von Stand-alone Spring-Anwendungen
  • Wegfall von Web Application Archive (WAR-Dateien) durch direktes Einbetten von Container- und Webserver-Anwendungen
  • Starter Project Object Models (POMs) vereinfachen die Maven-Konfiguration
  • Nichtfunktionale Features (bspw. ausgelagerte Konfigurationen) können bereitgestellt werden
  • Spring-Konfiguration und Third-Party-Libraries können automatisiert werden
  • Wegfall der Code-Erstellung und der XML-Konfiguration

Die Geschichte und Bedienung von Spring Boot

Auch wenn Spring Boot erst 2012 veröffentlicht wurde, begann die Entwicklung durch Pivotal Team bereits 2005 – also lediglich zwei Jahre nach Spring. Mit der Zeit und der wachsenden Erfahrung im Spring Framework konnte auch Spring Boot angepasst werden und geht dadurch noch besser auf die Anforderungen der User ein.

Die Komposition durch etwa 20 Basismodule des initialen Frameworks und die Möglichkeit, diese nach den Wünschen und Anforderungen zusammenzustellen, ermöglicht eine besondere Flexibilität. Dies macht Spring und Spring Boot weder zum dedizierten Framework für Desktop Applikationen, noch für Webanwendungen. Eigentlich ist Spring so ziemlich alle Zwecke gut geeignet.

Voraussetzung für die Nutzung von Spring Boot ist das Java Development Kit mit Version 8 (oder neuer) und eine aktuelle Version des Spring-Frameworks. Sowohl Maven (3.3. oder neuer) oder Gradle (4.4 oder neuer) können als Build Tool genutzt werden. Für die Einbindung von Webservern stehen ApacheTomcat, Jetty oder Undertow zur Auswahl. Auch hier haben Nutzerinnen und Nutzer also viel Flexibilität.

Der erste Schritt hierzu ist der Spring Initializer, ein Webservice zum Erstellen einer fertigen Projektvorlage in einem sehr leicht zu bedienenden Webformular. Zu den Konfigurationen zählen hier beispielsweise die Wahl des Builders, die Wahl der Sprache und die relevanten Abhängigkeiten, die Projektdatei wird dann einfach mit einem Klick erzeugt.

Spring Boot vereinfacht nicht nur Micro Services

Für die Entwicklung von Spring-Anwendungen ist Spring Boot heute eigentlich unerlässlich. Anders als Groovy oder Spring Roo kann Spring Boot nämlich einen schnellen und gleichzeitig flexiblen Programmierstart ermöglichen. Die Erstellung der Abhängigkeiten durch die Starter wird von Spring Boot nicht forciert und kann bei Bedarf wieder gelöst werden.

Auch wenn Spring Boot gerne als Framework für Microservices betitelt wird, ist das „Opinionated Framework“ zu deutlich mehr in der Lage. Functions-as-a-Service oder modulare Monolithen lassen sich damit gleichermaßen schreiben. Die Reduktion der Komplexität zum Einstieg sollte also keinesfalls eine Hürde für die abschließende Applikation darstellen. Einfachheit beim Programmieren bedeutet nicht zwangsläufig ein einfaches Programm, sondern vor allem ein effizient geschriebenes.

(ID:47300451)