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.
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:
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.
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.
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.
Eingebettete Servlet-Container
Anwendungen können ohne externen Application Server gestartet werden. Spring Boot unterstützt eingebettete Container wie Tomcat, Jetty und Undertow.
Spring Boot CLI
Ein Kommandozeilenwerkzeug, das die schnelle Entwicklung von Spring-Anwendungen ermöglicht, insbesondere durch die Verwendung von Groovy für schlankeren Code.