Spring und Spring Boot sind keine konkurrierenden Tools, sondern ergänzen sich. Spring Boot basiert tatsächlich auf dem Spring-Framework. Es geht also weniger darum, sich für eines von beiden zu entscheiden, sondern eher darum zu wissen, was beide beitragen.
Zuerst werfen wir einen Blick auf zwei Begriffe, die bei der Bewertung von Entwicklungsframeworks oft auftauchen: „nicht vordefiniert“ und „vordefiniert“.
Nicht vordefinierte Frameworks
Ein nicht vordefiniertes Framework gibt Entwicklerteams die Freiheit, die Struktur so festzulegen, wie es passend erscheint. Das bietet maximale Flexibilität und gibt dem Entwicklungsteam mehr Kontrolle. Beachten Sie jedoch, dass dafür auch mehr Know-how und mehr Vorarbeit nötig sind, um eine Anwendung zu konfigurieren und zum Laufen zu bringen.
Vordefinierte Frameworks
Ein vordefiniertes Framework legt einen klaren, gut ausgebauten Weg fest, der für die meisten Teams in den meisten Situationen gut funktioniert. Das reduziert Entscheidungsmüdigkeit, fördert Konsistenz in den Codebasen und erleichtert es neuen Entwicklern, sich schnell einzuarbeiten. Der Kompromiss ist zwar weniger Flexibilität, aber für die meisten modernen Anwendungsszenarien ist das ein fairer Tausch.
Das Spring-Framework ist vollständig konfigurierbar und nicht vordefiniert. Es schreibt also keine bestimmte Art vor, wie die Anwendung erstellt werden soll. Diese Flexibilität ist stark, bringt aber einen Kompromiss mit sich: Entwickler müssen im Voraus viele Entscheidungen treffen und umfangreichen Konfigurationscode schreiben, bevor sie mit der eigentlichen Entwicklung beginnen können.
Spring Boot verfolgt einen anderen Ansatz. Da es vordefiniert ist, trifft es Standardentscheidungen für Sie, damit Sie sich auf die Anwendungslogik statt auf die Einrichtung konzentrieren können. Es ist auf Geschwindigkeit und Einfachheit ausgelegt und bringt Entwickler in deutlich kürzerer Zeit von null zu einer laufenden Anwendung als bei der Arbeit mit dem Spring-Framework allein.
Die zentrale Funktion, die den vordefinierten Ansatz von Spring Boot so wirksam macht, ist die Autokonfiguration. Statt dass Entwickler jede Komponente einer Anwendung manuell verdrahten müssen, erkennt Spring Boot automatisch, was sich auf dem Klassenpfad befindet, und konfiguriert die Anwendung entsprechend. Das ist einer der wichtigsten Gründe, warum Entwicklungsteams zum Spring Boot-Framework greifen, wenn sie schnell vorankommen müssen, ohne an Qualität zu sparen.