Was ist Spring Boot?

Alan Zeichick | Senior Writer | 29. Oktober 2024

Software zu schreiben ist ein wenig wie das Öffnen eines neuen leeren Dokuments in Ihrem bevorzugten Textverarbeitungsprogramm: Was tun Sie zuerst? Und wie gehen Sie mit all dem mühsamen Standardcode um, der für eine komplexe Anwendung notwendig ist – ohne etwas Wichtiges zu vergessen oder einen Konfigurationsfehler zu machen? Genau hier kommen Anwendungs-Frameworks ins Spiel, die die grundlegende Struktur für unterschiedliche Arten von Anwendungen bereitstellen. Sobald Ihr Entwicklungsteam ein Framework ausgewählt hat, kann die eigentliche Softwareentwicklung beginnen. Nein, es ist nicht so einfach wie ein Ausfüllformular, aber das Gerüst eines Frameworks übernimmt die Voraussetzungen für Projekte – von einem einfachen Microservice oder einer Webanwendung bis hin zu einer klassischen Client/Server-Anwendung.

Für Java-Entwickler gehört Spring zu den beliebtesten Frameworks. Es ist äußerst flexibel und vielseitig. Mit Spring können Sie nahezu alles entwickeln – von einem kleinen Service bis zu einem großen, geschäftskritischen System. Doch genau diese Vielseitigkeit ist zugleich eine Schwäche: Spring ist oft zu komplex und bietet zu viele Optionen. Und hier kommt Spring Boot ins Spiel. Spring Boot ist eine Erweiterung von Spring, die deutlich einfacher zu nutzen ist, weil viele Entscheidungen automatisch getroffen werden – insbesondere bei der Verwaltung von Abhängigkeiten und Konfigurationen.

Kurz gesagt: Wenn Sie über den Einsatz von Spring nachdenken, können Sie vermutlich – und sollten Sie wahrscheinlich – stattdessen Spring Boot verwenden.

Was ist Spring Boot für Java?

Spring Boot ist ein Open-Source-Framework auf Java-Basis zur Erstellung von Spring-basierten Anwendungen. Spring, das Anfang der 2000er-Jahre entwickelt wurde, wurde schnell zu einem der beliebtesten Java-Frameworks für Unternehmensanwendungen. Spring Boot wurde später eingeführt – als leichter zu nutzendes Framework, das alle Tools und Technologien von Spring erweitert und eine schnelle Anwendungsentwicklung ermöglicht.

Java und Spring Framework

Für Java-Entwickler bietet Spring eine beeindruckende Auswahl an Kerntechnologien – von Dependency Injection über Event-Management, Internationalisierung, Data Binding, Typkonvertierung bis hin zu Aspektorientierter Programmierung. Alles, was man sich vorstellen kann, ist in Spring enthalten: Testing, Mocking, Datenobjekte, Model-View-Controller-Webanwendungen, Remoting, Aufgabenplanung – die Liste ist endlos. Entwickler können entscheiden, ob sie einige oder alle dieser Funktionen nutzen möchten – das liegt ganz beim Entwicklungsteam und der Softwarearchitektur.

Das Spring Framework ist Open-Source-Software unter der Apache-2.0-Lizenz.

Das Spring-Projekt umfasst zahlreiche Unterprojekte, die sich auf Cloud-Anwendungen, Sicherheit, das Bereitstellen und Konsumieren von Webservices, Credential-Management, Datenzugriff, Event-Management und sogar künstliche Intelligenz konzentrieren. Diese Flexibilität kann jedoch zu Komplexität führen: Das Aufsetzen umfangreicher Spring-basierter Anwendungen kann Entwicklungsteams in ein Labyrinth aus Optionen, Entscheidungen und Konfigurationen führen – und manche davon sind nach der manuellen Einrichtung nur schwer zu ändern, sobald die eigentliche Programmierung begonnen hat.

Hier kommt Spring Boot ins Spiel.

Spring im Vergleich zu Spring Boot

  • Spring Boot ist eines der Unterprojekte von Spring. Es ist auch Open Source unter der Apache 2.0 Lizenz.
  • Viele Entwickler sind überrascht zu erfahren, dass der Spring-Boot-Code sogar größer ist als der des Spring Framework selbst. Der Grund: Spring Boot ist eine Erweiterung von Spring, die so konzipiert ist, dass sie sich intelligent selbst konfiguriert – man spricht von einem „opinionated“ Framework.
  • Sobald Sie Spring Boot mitteilen, welche Art von Anwendung Sie erstellen möchten, trifft das Framework Entscheidungen darüber, welche Module und externen Bibliotheken geladen und bereitgestellt werden.
  • Ein wichtiger Hinweis: „Intelligent“ bedeutet hier nicht KI. Die Entscheidungen von Spring Boot folgen klaren Algorithmen.
  • Das zusätzliche Gewicht des Frameworks wirkt sich nicht auf die fertige Anwendung aus. Im Gegenteil: Spring Boot lädt in der Regel nur das, was wirklich benötigt wird.
  • Mit anderen Worten: Spring Boot ist zwar „opinionated“, aber seine Entscheidungen sind ausgesprochen gut.
  • Beispiel: Benötigt Ihre Anwendung einen eingebetteten Webserver? Bei Spring-Anwendungen müssen Sie selbst entscheiden – und falls ja, auswählen, welchen Webserver Sie einbetten möchten und alle Konfigurationen manuell vornehmen, einschließlich der Sicherheitseinstellungen.
  • Mit Spring Boot hingegen wird, wenn die Anwendung einen Webserver benötigt, dieser automatisch installiert und konfiguriert.

Wichtige Unterschiede

Die wichtigsten Unterschiede zwischen Spring und Spring Boot liegen in einem Kompromiss zwischen Komplexität und Benutzerfreundlichkeit.

Spring ist nahezu unbegrenzt konfigurierbar, aber Sie müssen viel Zeit investieren, um Entscheidungen zu treffen, Module und Drittanbieterbibliotheken auszuwählen und anschließend all diese Funktionen zu konfigurieren. Und all das, bevor Sie überhaupt mit der eigentlichen Programmierung beginnen können.

Mit Spring Boot können Sie deutlich schneller starten, da das Framework viele Installations- und Konfigurationsentscheidungen automatisch für Sie übernimmt. Sie verzichten auf etwas Flexibilität, aber in der Praxis ist das kaum ein Nachteil. In nahezu allen Fällen ist Spring Boot die bessere Wahl für Webentwicklung und Microservices. In Ausnahmefällen oder bei sehr großen Projekten kann es sinnvoll sein, stattdessen Spring einzusetzen.

Wichtige Erkenntnisse

  • Spring ist ein äußerst leistungsfähiges – und zugleich komplexes – Framework für die Entwicklung von Unternehmensanwendungen auf Java-Basis. Wie bei einem Werkzeugkasten, der jeden denkbaren Schraubendreher, Schlüssel, Bohrer und jede Nuss enthält, ist alles vorhanden – aber die Vielzahl an Auswahlmöglichkeiten kann überwältigend sein.
  • Spring Boot können Sie sich als eine deutlich benutzerfreundlichere Version von Spring vorstellen – als hätte jemand einen kleineren Werkzeugkasten zusammengestellt, der nur die Werkzeuge enthält, die Sie für eine bestimmte Aufgabe wirklich benötigen.
  • Sowohl Spring als auch Spring Boot eignen sich zur Entwicklung modularer Java-Anwendungen.
  • Spring Boot überzeugt besonders bei kleineren Anwendungen wie Microservices und Web-Apps, da die vereinfachten Konfigurationen und sinnvollen Standardeinstellungen Ihr Team schnell arbeitsfähig machen.
  • Wenn eine Anwendung sehr groß und komplex werden soll, ist das flexiblere Spring Framework möglicherweise die bessere Wahl.

Spring Boot einfach erklärt

Spring Boot ist ein Open-Source-Anwendungsframework zur Entwicklung von Enterprise-Java-Anwendungen. Es wurde entwickelt, um Entwicklungsteams einen schnellen Einstieg zu ermöglichen. Spring Boot erstellt eigenständige Spring-Anwendungen, ohne die oft mühsamen Konfigurationsentscheidungen, die bei vollständigem Spring erforderlich sind.

Die Ziele des Spring-Projekts bestehen darin, eine deutlich schnellere und effizientere Entwicklererfahrung zu ermöglichen – und zwar durch klare Vorgaben. Das bedeutet, dass Algorithmen automatisch auswählen, welche Spring-Module und Funktionen aktiviert werden und welche Drittanbieterbibliotheken installiert werden. Anschließend werden diese automatisch für Sie konfiguriert. Darüber hinaus erweitert Spring Boot Java-Projekte um zahlreiche nicht-codebasierte Funktionen wie eingebettete Webserver, Sicherheitssysteme, Metriken und Analysen.

Die aktuelle Version von Spring Boot (Stand: 3.3.4) setzt mindestens Java 17 sowie Spring Framework 6.1.13 oder höher voraus. Spring Boot ist mit den Build-Tools Maven 3.6.3 sowie Gradle 7.x und 8.x kompatibel. Für eingebettete Servlet-Container unterstützt es Tomcat, Jetty, Undertow oder jeden servlet-kompatiblen Container ab Version 5.0. In der Praxis werden Sie vermutlich auch GitHub einsetzen.

Der Vorteil von Spring Boot liegt darin, dass Sie die umfangreichen Möglichkeiten des Spring-Frameworks nutzen können, ohne dessen Komplexität tragen zu müssen. Projekte lassen sich auf jeder Java-Virtual Machine ausführen, die Java 17 oder höher unterstützt – ein separater Webserver oder WAR-Dateien sind nicht erforderlich.

Anstelle von XML-Konfigurationen verwendet Spring Boot die Datei application.properties, was insbesondere für datenbankgestützte Anwendungen mit Oracle Database oder MySQL ideal ist. Nutzt Ihre Anwendung MySQL, kann Spring Boot sogar automatisch eine In-Memory-Datenbank konfigurieren. Spring Data JPA ermöglicht die Arbeit mit einer Vielzahl unterschiedlicher Datenzugriffstechnologien.

Wenn Sie die Architektur genauer erkunden möchten, finden Sie hier ein Beispiel für eine Spring-Boot-basierte Anwendung.

Funktionsweise von Spring Boot

Spring Boot nutzt – wie viele Java-Anwendungsframeworks und Erweiterungen – Dependency Injection (DI) und Inversion of Control (IoC), um Java-Programme um zusätzliche Funktionen zu erweitern.

DI ermöglicht es einem externen Framework – in diesem Fall Spring Boot –, Objekte und Funktionen für die Unternehmensanwendung bereitzustellen, sodass der Entwickler sie nicht selbst erstellen muss. Je nach Situation muss der Entwickler lediglich die Schnittstellen zu diesen Objekten und Funktionen kennen oder definieren.

Bei IoC kommt der Programmablauf aus einer externen Quelle: In Spring Boot kümmert sich der Entwickler um die Programmlogik, während das Framework die Ereignissteuerung und die Nachrichtenverarbeitung übernimmt. Spezielle IoC-Container in Spring übernehmen die effiziente Bereitstellung von Objekten und Funktionen per Dependency Injection – mit minimalem Aufwand für den Entwickler.

Spring und Spring Boot verwenden Java-Annotationen. Dabei handelt es sich um nicht kompilierbare Markierungen, die mit einem @-Symbol beginnen, im Code eingebettet sind und Metadaten bereitstellen, die zur Erweiterung der Funktionalität genutzt werden.

Spring Boot wird geladen, indem sowohl die Spring-Abhängigkeiten als auch die Spring-Boot-Starter-Abhängigkeiten in die pom.xml (Maven) oder build.gradle (Gradle) eines neuen Projekts aufgenommen werden. Anschließend ergänzt der Entwickler die passenden Spring-Boot-Annotationen im Code, etwa @RestController zum Aufbau eines REST-Controllers für Webservices. Spring Boot stellt zahlreiche Komponenten bereit, die Entwurf und Entwicklung erheblich vereinfachen – beispielsweise die Integration mit mehreren JSON-Bibliotheken wie Jackson für Serialisierung und Deserialisierung. Die Spring-Security-Komponenten sind unverzichtbar für jede Anwendung, die HTTP- oder Formularzugriffe nutzt – im Grunde für jede Webanwendung.

Das Spring-Boot-Framework stellt eine Vier-Schichten-Architektur bereit, die HTTP-Anfragen und JSON-Datenübertragung von der Geschäftslogik trennt und diese wiederum von der objektorientierten Datenrepräsentation sowie der physischen Speicherung in externen Datenbanken. Diese Architektur kann unverändert genutzt werden, was sich ideal für die Entwicklung von Microservices eignet. Alternativ lässt sie sich auf das Model-View-Controller-Muster abbilden, das sich besonders gut für Webanwendungen eignet.

Sobald alle Abhängigkeiten hinzugefügt und die Programmlogik geschrieben wurde, starten die üblichen Maven- oder Gradle-Run-Befehle die Anwendung. Spring Boot stellt sicher, dass alle benötigten Komponenten des Spring Framework korrekt installiert und für das Projekt passend konfiguriert sind. Wenn Sie eine eigenständige ausführbare Datei erstellen möchten, können Sie mit Spring Boot direkt eine verschachtelte JAR-Datei erzeugen, die sich auf jeder Standard-JVM (Java 17 oder höher) oder auf einer Native-Image-Plattform wie GraalVM ausführen lässt.

Vorteile von Spring Boot

Spring Boot bietet Enterprise-Java-Entwicklern mehrere Vorteile gegenüber dem direkten Einsatz des Spring Frameworks. Grundsätzlich gilt: Wenn sich die Anforderungen sowohl mit Spring als auch mit Spring Boot erfüllen lassen, ist Spring Boot in der Regel die bessere Wahl – dank vereinfachter Einrichtung und höherer Produktivität. Zu den konkreten Vorteilen zählen unter anderem:

  • Beschleunigte Entwicklung. Mit Spring Boot können Teams direkt starten. Die „Opinionated“-Mechanismen erkennen, laden und konfigurieren automatisch alle erforderlichen Module, Funktionen und Drittanbieterbibliotheken. Beim klassischen Spring-Framework müssen Entwickler diese Komponenten manuell auswählen und einrichten.
  • Vereinfachte Konfiguration. Die Arbeit mit komplexen Anwendungen in Java, C++ oder C# kann zeitaufwendig und fehleranfällig sein, weil viele Komponenten manuell konfiguriert werden müssen. Spring Boot übernimmt diese Aufgabe weitgehend automatisch. Es konfiguriert Module und externe Bibliotheken selbstständig und reduziert so den Aufwand erheblich. Ändern sich Module oder Bibliotheken während der Entwicklung, passt Spring Boot die Konfiguration automatisch an.
  • Integrierte Features für Microservices. Spring Boot eignet sich für jede Art von Enterprise-Java-Anwendung – ob reaktiv, ereignisgesteuert, für Batch-Verarbeitung, Serverless, Client/Server oder Web. Besonders stark ist das Framework jedoch beim Aufbau von Microservices. Es bietet integrierte Muster für Service Discovery, Load Balancing, verteiltes Execution Tracing und Echtzeit-Message-Streaming. Ebenso wichtig: Spring-Boot-Anwendungen starten und stoppen sehr schnell – ein zentraler Faktor für die Skalierbarkeit von Microservices.
  • Abhängigkeitsmanagement. Abhängigkeiten entstehen, wenn Code auf Bibliotheken, Module, Plug-ins, Microservices oder APIs angewiesen ist. Spring Boot bietet eine integrierte Unterstützung für Dependency Injection (DI). So können extern definierte Objekte und Funktionen mit minimalem Aufwand in die Anwendung eingebunden werden. Entwickler können sich dadurch stärker auf die eigentliche Logik konzentrieren, ohne sich mit technischen Details externer Ressourcen befassen zu müssen.
  • Produktionsfähige Funktionen. Das Ziel besteht nicht darin, Software zu schreiben. Sondern darin, Software zuverlässig zu betreiben. Die Paketierung und Bereitstellung von Enterprise-Java-Anwendungen ist oft komplex, da es an einheitlichen Standards fehlt. Das gilt auch für Anwendungen auf Basis des Spring Frameworks. Spring Boot schafft hier Abhilfe, indem Teams zwischen ausführbaren JAR-Dateien und bereitstellbaren WAR-Dateien wählen können. Anwendungen lassen sich zudem direkt in Containern bereitstellen oder als Windows- bzw. Unix/Linux-Systemdienste ausführen.
  • Nahtlose Integration. Enterprise-Java-Anwendungen müssen nahezu immer mit anderen Systemen kommunizieren – wie z. B. mit Datenbanken, ERP-Systemen, Cloud-Anwendungen oder Legacy-Client/Server-Apps. Spring Boot stellt zahlreiche Integrationen bereits ab Werk bereit, und nahezu jedes Open-Source-Projekt oder jeder große Softwareanbieter bietet passende Integrationswerkzeuge und Dokumentation. Oracle unterstützt beispielsweise JDBC, UCP und Oracle Backend for Spring Boot and Microservices sowie eine Reihe von Spring-Boot-Startern für verschiedene Oracle Technologien.

Spring Boot-Features

Spring Boot hat sich über Jahrzehnte weiterentwickelt, um den Anforderungen von Enterprise-Java-Entwicklern besser gerecht zu werden. Auch wenn die Vielzahl an Funktionen auf den ersten Blick überwältigend wirken kann, verfolgt Spring Boot ein klares Ziel: Vereinfachung. Durch die intelligente Auswahl der geeigneten Module, Funktionen und Bibliotheken können sich Entwickler stärker auf die eigentliche Programmlogik konzentrieren und weniger auf Infrastruktur, Integrationsarbeit und grundlegende Framework-Strukturen.

Hier finden Sie einige Features von Spring Boot, die den Entwicklungsprozess spürbar erleichtern.

  • Automatische Konfiguration. Der vordefinierte Ansatz von Spring Boot legt fest, welche Module und externen Bibliotheken ein Projekt verwenden sollte, und konfiguriert diese automatisch. Das erspart Entwicklern unzählige Stunden bei der Auswahl geeigneter Komponenten und deren korrekter Konfiguration im Anwendungskontext – ein Prozess, der oft zeitaufwendig und fehleranfällig ist.
  • Ausführbare Standalone-JARs. Eines der wichtigsten Features von Spring Boot ist die Möglichkeit, eigenständige ausführbare JAR-Dateien (Java Archive) zu erstellen, die direkt in der Zielumgebung ausgeführt werden können. Diese JARs enthalten sämtliche Java-Klassen und Metadaten sowie benötigte Ressourcen wie Bilder oder Konfigurationsdateien, sodass die Anwendungen vollständig eigenständig lauffähig sind.
  • Integrierte Webserver. Benötigt die Enterprise-Java-Anwendung einen HTTP-Server, installiert und konfiguriert Spring Boot diesen automatisch – inklusive sicherer Standardeinstellungen. Unterstützte Server sind unter anderem Tomcat, Jetty und Undertow.
  • Spring Boot Starters. Eine Unternehmensanwendung nutzt zahlreiche Bibliotheken und Abhängigkeiten – wie z. B. für Webserver, Analysetools, Debugging, Designmuster, Persistenz, Kommunikation, Mocking oder Load-Balancing. Ein Spring Boot Starter fasst all diese Komponenten in einer einzigen Konfigurationsdatei zusammen. Das vereinfacht den gesamten Prozess, reduziert den Codeaufwand und stellt sicher, dass keine Abhängigkeiten übersehen werden. Eine zentrale Anlaufstelle für alles.
  • Externe Konfiguration. Spring Boot erleichtert es, Code in unterschiedlichen Umgebungen auszuführen. Mithilfe externer Konfigurationen lassen sich zahlreiche Eigenschaften anpassen – wie z. B. Kommandozeilenparameter, Property-Dateien oder Umgebungsvariablen –, die für die jeweilige Laufzeitumgebung gelten. All diese Einstellungen werden in einer Datei gebündelt, zur Laufzeit geladen und über @-Annotationen abgefragt.
  • Spring Boot-Entwicklungstools. Entwickler können für Enterprise-Java-Anwendungen ihre bevorzugte Toolchain nutzen – inklusive IDE, DevOps-Tools oder Versionsverwaltung. Ergänzend bietet Spring Boot zusätzliche Tools, die je nach Bedarf geladen werden können, um Fehlerbehandlung, Logging, Remote-Ausführung oder das Verwalten des Classpaths zu erleichtern.
  • Spring Boot Actuator. Der Spring Boot Actuator ermöglicht das Definieren von Endpunkten, die während der Laufzeit überwacht werden können, um den Zustand der Anwendung zu prüfen. Diese Endpunkte lassen sich aktivieren, deaktivieren und über HTTP oder JMX (Java Management Extensions) bereitstellen. Üblicherweise werden sie in einem Monitoring- oder Application-Managementtool beobachtet, um frühzeitig zu erkennen, ob die Anwendung stabil läuft oder ob Speicherprobleme, Verzögerungen, Ausnahmen oder andere Fehlersituationen auftreten.
  • Vereinfachtes Abhängigkeitsmanagement. Der vielleicht größte Vorteil des Spring-Boot-Frameworks besteht darin, dass Entwickler manuelle Konfigurationen von Abhängigkeiten weitgehend vermeiden können. Die vereinfachte Abhängigkeitsverwaltung ermöglicht eine automatische Konfiguration der benötigten Module und Bibliotheken, nutzt Spring Boot Starters zum Bündeln von Bibliotheken und verpackt Anwendungen als eigenständige ausführbare JAR-Dateien.
  • Produktionsfähige Features. Sobald eine Anwendung bereit für die Bereitstellung ist, bietet Spring Boot zahlreiche hilfreiche Funktionen. Dazu gehören Spring Boot Starters zum Paketieren aller Konfigurationen, eigenständige ausführbare JAR-Dateien für die Distribution der Anwendung sowie Spring Boot Actuators für die Überwachung des Systemzustands zur Laufzeit.
Warum ist Spring Boot so beliebt? Diagramm, Beschreibung unten

Warum ist Spring Boot so beliebt?

Die Vorteile reichen von der Entwicklung bis zum Deployment von Anwendungen.

Beliebte Spring Boot-Features

Entwicklung:

  • Automatische Konfiguration
  • Spring Boot-Entwicklungstools
  • Vereinfachtes Abhängigkeitsmanagement
  • Integrierte Webserver

Bereitstellung:

  • Ausführbare Standalone-JARs
  • Spring Boot Starter
  • Externe Konfiguration
  • Spring Boot Actuator
  • Produktionsfähige Features
Diese und weitere Vorteile von Spring Boot machen es zu einer beliebten Wahl für Java-Entwickler.

Spring Boot-Architektur

Spring Boot kann für jede Art von Enterprise-Java-Anwendung eingesetzt werden – ob klein oder groß, ob ein schlanker Microservice, eine komplexe geschäftskritische On-Premises-Anwendung oder eine moderne Cloud-App. Eine typische Spring-Boot-Anwendung besteht aus vier Schichten, die sich flexibel an die Anforderungen der jeweiligen Anwendung anpassen lassen. Ein einfacher Microservice benötigt beispielsweise keine Datenbank- oder Persistenzschicht.

Von unten nach oben sind dies die vier Schichten:

  • Datenbankschicht. Die tatsächliche Datenbank oder die Datenbanken, die die Anwendung unterstützen und für CRUD-Operationen genutzt werden. Mit Spring Boot lässt sich im Grunde jede erweiterbare Datenbank verwenden.
  • Persistenzschicht. Die Persistenzschicht bietet eine objektrelationale Abstraktion der eigentlichen Datenbankschicht. Die Anwendungslogik kommuniziert mit der Persistenzschicht über Business-Objekte; deren Code wandelt diese in relationale Zeilen und Spalten um und übergibt die CRUD-Operation an die Datenbankschicht.
  • Business-Schicht. Hier löst das Entwicklungsteam die fachlichen Anforderungen des Unternehmens. Die Business-Schicht umfasst den Programmablauf sowie die Steuerung der Ereignisverarbeitung. Sie kommuniziert in der Präsentationsschicht mit Benutzern und externen Anwendungen und greift über die Persistenzschicht auf Daten zu.
  • Präsentationsschicht. Die Präsentationsschicht einer Spring-Boot-Anwendung kommuniziert über HTTP und JSON mit der Außenwelt. Eingehende Anfragen werden hier authentifiziert und das JSON wird verarbeitet. Anschließend werden die Serviceanforderungen zur weiteren Bearbeitung an die Business-Schicht weitergeleitet. Externe Schnittstellen der Anwendung werden als „Views“ bezeichnet.

Spring Boot einrichten

Bereit, Spring Boot auszuprobieren? Die Einrichtung ist unkompliziert – ein Grund, warum so viele Entwicklungsteams Spring Boot einsetzen und warum Studenten und Schüler dieses beliebte Anwendungsframework erlernen. Wer starten möchte, sollte einen Blick in die offizielle Dokumentation Developing Your First Spring Boot Application werfen. Hier ist eine Zusammenfassung der Schritte:

  1. Stellen Sie sicher, dass Java 17 oder höher installiert ist.
  2. Konfigurieren Sie Maven oder Gradle und definieren Sie Ihre Maven-pom.xml oder Gradle-build.gradle, um das Spring-Boot-Framework einzubinden.
  3. Fügen Sie die Klassenpfad-Abhängigkeiten für den Spring Boot Starter hinzu, der die projektspezifischen Dependencies verwaltet.
  4. Schreiben Sie Ihren Code – ob ein einfaches „Hello World“ oder eine umfangreiche geschäftskritische Anwendung – und verwenden Sie die passenden Annotationen, um die Spring-Boot-Funktionalität einzubinden.
  5. Führen Sie die Anwendung lokal über Maven oder Gradle aus und prüfen Sie, ob alles wie gewünscht funktioniert.
  6. Packen Sie die Anwendung anschließend in eine eigenständige ausführbare JAR-Datei, die Sie bei Bedarf weitergeben können.

Wenn Sie den Service ausprobieren möchten, sehen Sie sich CloudBank an – eine Anwendung, die die meisten bereitgestellten Services nutzt.

Oracle Technologien mit Spring Boot verwenden

Die Datenbankschicht von Spring Boot ist mit einer Vielzahl von Cloud- und On-Premises-Datenbanken kompatibel; zwei besonders beliebte Optionen sind Oracle Database und MySQL. Die Entwicklerteams von Oracle setzen alles daran, Spring Boot zu unterstützen – sei es durch Beiträge zum Open-Source-Projekt oder durch die Integration zahlreicher Oracle Frameworks und Bibliotheken. Unterstützte Spring-Starter für Oracle Database und OCI-Services finden Sie ebenfalls im Oracle Cloud Marketplace.

Oracle Backend for Microservices and AI, eine im Juni 2024 eingeführte Plattform, stellt ein „Backend-as-a-Service“ mit Oracle Database und weiteren Infrastrukturkomponenten bereit. Die Lösung läuft in mehreren Clouds und ermöglicht es Entwicklern, Microservices in Spring Boot und anderen Frameworks zu erstellen und bereitzustellen. Sie vereinfacht Aufbau, Test und Betrieb von Microservices-Plattformen und bietet eine AI Sandbox (Developer Preview) für schnelle Iterationen und Experimente mit RAG- und agentenbasierten Techniken unter Nutzung von Oracle Database 23ai. Die AI Sandbox kann Spring-AI-Microservice-Code generieren, der über Oracle Backend for Microservices and AI verwaltet und bereitgestellt werden kann. Die Plattform stellt dafür eine Befehlszeilenschnittstelle, ein Visual-Studio-Code-(VS-Code-)Plug-in, ein IntelliJ-Plug-in, Service Discovery und Event Management bereit.

Fazit: Spring Boot ist die kluge Open-Source-Wahl. Es ermöglicht Ihrem Entwicklungsteam, komplexe Geschäftsapplikationen deutlich schneller zu erstellen als mit dem Spring Framework allein. Da Spring Boot Funktionen, Features und externe Bibliotheken intelligent installiert und automatisch konfiguriert, können sich Entwickler auf die Lösung des geschäftlichen Problems konzentrieren – dort, wo der eigentliche Mehrwert der Anwendung entsteht.

KI-Modelle können Betrug in Echtzeit erkennen, Forschungsteams im Gesundheitswesen bei der Gewinnung neuer Erkenntnisse unterstützen, Kundenbewertungen und Stimmungen in sozialen Medien analysieren und vieles mehr. Der gemeinsame Nenner: Intelligente Entwicklung, die Daten wirksam nutzt. Unser E-Book stellt 11 praxisnahe KI-Anwendungsfälle vor.

Häufig gestellte Fragen zu Spring Boot

Was ist Spring Boot und warum wird es verwendet?

Spring Boot ist ein Anwendungsframework, das Java-Entwicklern ermöglicht, die leistungsstarke Vier-Schichten-Architektur des Spring Framework zu nutzen – jedoch deutlich einfacher in der Handhabung. Die Vorteile sind höhere Entwicklerproduktivität, kürzere Bereitstellungszeiten und ein geringeres Fehlerrisiko dank der automatischen Konfiguration von Spring Boot.

Ist Spring Boot ein Backend-Framework?

Spring Boot ist ein Framework für die Entwicklung von Enterprise-Java-Anwendungen. Es eignet sich sowohl für Cloud- als auch für On-Premises-Umgebungen und für die Erstellung von Web-, Microservices- und Client/Server-Anwendungen. Spring Boot umfasst Funktionen für Frontend (Präsentation und Geschäftslogik) ebenso wie für Backend (Persistenzabstraktion und Datenbankanbindung).