Mit Spring Boot können Sie mit minimalem Aufwand Spring-basierte Anwendungen und Dienste in Produktionsqualität erstellen. Es erfordert eine fundierte Sicht auf die Spring-Plattform, damit neue und bestehende Benutzer schnell auf die benötigten Teile zugreifen können.
Mit Spring Boot können Sie eigenständige Java-Anwendungen erstellen, die mit java -jar
oder traditionelleren WAR-Bereitstellungen gestartet werden können. Wir stellen auch ein Befehlszeilentool zur Verfügung, das Spring-Skripte ausführt.
Unsere primären Ziele sind:
Bieten Sie eine radikal schnellere und allgemein zugängliche Einstiegserfahrung für alle Spring-Entwicklungen.
Seien Sie eigensinnig, aber weichen Sie schnell aus dem Weg, wenn die Anforderungen beginnen, von den Standards abzuweichen.
Stellen Sie eine Reihe nichtfunktionaler Funktionen bereit, die bei großen Projektklassen üblich sind (z. B. eingebettete Server, Sicherheit, Metriken, Zustandsprüfungen, externalisierte Konfiguration).
Absolut keine Codegenerierung und keine XML-Konfiguration erforderlich.
Die Referenzdokumentation umfasst ausführliche Installationsanweisungen sowie eine ausführliche Anleitung getting started
.
Hier ist ein kurzer Teaser einer vollständigen Spring Boot-Anwendung in Java:
import org.springframework.boot.*;import org.springframework.boot.autoconfigure.*;import org.springframework.web.bind.annotation.*;@RestController@SpringBootApplicationpublic class Beispiel {@RequestMapping("/")String home( ) {return „Hallo Welt!“; }public static void main(String[] args) {SpringApplication.run(Example.class, args); } }
Haben Sie Probleme mit Spring Boot? Wir wollen helfen!
Sehen Sie sich die Referenzdokumentation an, insbesondere die Anleitungen – sie bieten Lösungen für die häufigsten Fragen.
Lernen Sie die Spring-Grundlagen kennen – Spring Boot baut auf vielen anderen Spring-Projekten auf; Auf der Website spring.io finden Sie zahlreiche Referenzdokumentationen. Wenn Sie neu bei Spring sind, probieren Sie einen der Leitfäden aus.
Wenn Sie ein Upgrade durchführen, lesen Sie die Versionshinweise für Upgrade-Anweisungen und „neue und bemerkenswerte“ Funktionen.
Stellen Sie eine Frage – wir überwachen stackoverflow.com auf Fragen mit dem Tag spring-boot
. Sie können auch mit der Community auf Gitter chatten.
Melden Sie Fehler mit Spring Boot unter github.com/spring-projects/spring-boot/issues.
Spring Boot nutzt das integrierte Issue-Tracking-System von GitHub, um Fehler und Funktionsanfragen aufzuzeichnen. Wenn Sie ein Problem ansprechen möchten, befolgen Sie bitte die folgenden Empfehlungen:
Bevor Sie einen Fehler protokollieren, durchsuchen Sie bitte den Issue-Tracker, um zu sehen, ob jemand das Problem bereits gemeldet hat.
Wenn das Problem noch nicht vorhanden ist, erstellen Sie ein neues Problem.
Bitte geben Sie mit dem Problembericht so viele Informationen wie möglich an. Wir möchten gerne wissen, welche Spring Boot-Version, welches Betriebssystem und welche JVM-Version Sie verwenden.
Wenn Sie Code einfügen oder einen Stack-Trace einfügen müssen, verwenden Sie Markdown. „“ entkommt vor und nach Ihrem Text.
Versuchen Sie nach Möglichkeit, einen Testfall oder ein Testprojekt zu erstellen, das das Problem repliziert, und verknüpfen Sie es mit dem Problem.
Sie müssen nicht aus dem Quellcode erstellen, um Spring Boot (Binärdateien in repo.spring.io) zu verwenden. Wenn Sie jedoch das Neueste und Beste ausprobieren möchten, kann Spring Boot mithilfe von Gradle erstellt und in Ihrem lokalen Maven-Cache veröffentlicht werden Verpackung. Sie benötigen außerdem JDK 17.
$ ./gradlew publizToMavenLocal
Dadurch werden alle JAR-Dateien und die Dokumentation erstellt und in Ihrem lokalen Maven-Cache veröffentlicht. Es wird keiner der Tests ausgeführt. Wenn Sie alles erstellen möchten, verwenden Sie den build
-Task:
$ ./gradlew build
Es gibt mehrere Module in Spring Boot. Hier ein kurzer Überblick:
Die Hauptbibliothek bietet Funktionen, die die anderen Teile von Spring Boot unterstützen. Dazu gehören:
Die SpringApplication
-Klasse stellt statische praktische Methoden bereit, die zum Schreiben einer eigenständigen Spring-Anwendung verwendet werden können. Seine einzige Aufgabe besteht darin, einen geeigneten Spring ApplicationContext
zu erstellen und zu aktualisieren.
Eingebettete Webanwendungen mit einer Auswahl an Containern (Tomcat, Jetty oder Undertow).
Erstklassige externe Konfigurationsunterstützung.
Praktische ApplicationContext
Initialisierer, einschließlich Unterstützung für sinnvolle Protokollierungsstandardwerte.
Spring Boot kann große Teile typischer Anwendungen basierend auf dem Inhalt ihres Klassenpfads konfigurieren. Eine einzelne @EnableAutoConfiguration
-Annotation löst die automatische Konfiguration des Spring-Kontexts aus.
Die automatische Konfiguration versucht abzuleiten, welche Beans ein Benutzer möglicherweise benötigt. Wenn sich beispielsweise HSQLDB
im Klassenpfad befindet und der Benutzer keine Datenbankverbindungen konfiguriert hat, möchte er wahrscheinlich, dass eine In-Memory-Datenbank definiert wird. Die automatische Konfiguration wird immer zurückgestellt, wenn der Benutzer beginnt, seine eigenen Beans zu definieren.
Starter sind eine Reihe praktischer Abhängigkeitsdeskriptoren, die Sie in Ihre Anwendung einbinden können. Sie erhalten einen One-Stop-Shop für die gesamte Spring- und verwandte Technologie, die Sie benötigen, ohne Beispielcode durchsuchen und Unmengen von Abhängigkeitsdeskriptoren kopieren und einfügen zu müssen. Wenn Sie beispielsweise mit der Verwendung von Spring und JPA für den Datenbankzugriff beginnen möchten, schließen Sie die Abhängigkeit spring-boot-starter-data-jpa
in Ihr Projekt ein, und schon kann es losgehen.
Mit Aktuator-Endpunkten können Sie Ihre Anwendung überwachen und mit ihr interagieren. Spring Boot Actuator stellt die für Aktuator-Endpunkte erforderliche Infrastruktur bereit. Es enthält Anmerkungsunterstützung für Aktorendpunkte. Dieses Modul stellt viele Endpunkte bereit, darunter HealthEndpoint
, EnvironmentEndpoint
, BeansEndpoint
und viele mehr.
Dies ermöglicht eine automatische Konfiguration für Aktuatorendpunkte basierend auf dem Inhalt des Klassenpfads und einer Reihe von Eigenschaften. Wenn sich Micrometer beispielsweise im Klassenpfad befindet, wird MetricsEndpoint
automatisch konfiguriert. Es enthält die Konfiguration zum Offenlegen von Endpunkten über HTTP oder JMX. Genau wie bei Spring Boot AutoConfigure wird dies rückgängig gemacht, wenn der Benutzer beginnt, seine eigenen Beans zu definieren.
Dieses Modul enthält Kernelemente und Anmerkungen, die beim Testen Ihrer Anwendung hilfreich sein können.
Wie andere Spring Boot-Autokonfigurationsmodule bietet spring-boot-test-autoconfigure eine automatische Konfiguration für Tests basierend auf dem Klassenpfad. Es enthält viele Anmerkungen, die automatisch einen Teil Ihrer Anwendung konfigurieren können, der getestet werden muss.
Spring Boot Loader bietet die geheime Soße, die es Ihnen ermöglicht, eine einzelne JAR-Datei zu erstellen, die mit java -jar
gestartet werden kann. Im Allgemeinen müssen Sie spring-boot-loader
nicht direkt verwenden, sondern stattdessen mit dem Gradle- oder Maven-Plugin arbeiten.
Das Modul spring-boot-devtools bietet zusätzliche Funktionen zur Entwicklungszeit, wie etwa automatische Neustarts, für eine reibungslosere Anwendungsentwicklung. Entwicklertools werden automatisch deaktiviert, wenn eine vollständig gepackte Anwendung ausgeführt wird.
Die Website spring.io enthält mehrere Anleitungen, die Schritt für Schritt zeigen, wie Sie Spring Boot verwenden:
„Building an Application with Spring Boot“ ist eine Einführungsanleitung, die Ihnen zeigt, wie Sie eine Anwendung erstellen, ausführen und einige Verwaltungsdienste hinzufügen.
„Building a RESTful Web Service with Spring Boot Actuator“ ist eine Anleitung zum Erstellen eines REST-Webservices und zeigt auch, wie der Server konfiguriert werden kann.
Spring Boot ist eine Open-Source-Software, die unter der Apache 2.0-Lizenz veröffentlicht wird.