Java-Enterprise-Entwicklung: einfach, einfacher, Spring Boot 1.0 RC1

Hartmut Schlosser

Spring Boot ist seit Mitte 2013 Teil der Spring-IO-Plattform. Ziel dieses Projekt-Neulings ist es, die Enterprise-Java-Entwicklung weiter zu vereinfachen – eine Ambition, die bereits Spring selbst zugrunde lag, die mit Spring Boot nun aber weitere Impulse erhält. In Entwicklung steht gerade die erste Major-Version von Spring Boot, für die nun der erste Release-Kandidat erschienen ist.

Um ein besseres Verständnis zu erhalten, was Spring Boot bezwecken soll, empfiehlt sich der Artikel „Spring Boot“ von Eberhard Wolff samt dem Kommentar auf JAXenter von Spring-Experte Oliver Gierke. Olivers Auffassung nach machen drei Punkte den Kern von Spring Boot aus:

1. Dependency Management

Mit reinem Maven/Gradle bleibt es dem Entwickler immer noch selbst überlassen, sich die entsprechenden Bibliotheken in den richtigen Versionen zusammenzusuchen. Die Starter-poms aus Spring Boot helfen hier und sind trotzdem flexibel genug, um bei Bedarf doch einmal eine einzelne Version abzuändern.

2. Konfigurationsdefaulting

Nehmen wir an, man will eine Webanwendung auf Basis von Thymeleaf, Spring MVC und Spring Data JPA mit Hibernate bauen. Über den Mechanismus in 1. bekommt man hier sehr schnell die Dependencies in passenden Versionen zusammen. Was man jetzt aber immer noch tun muss, ist ein Default Setup: DataSource konfigurieren, EntityManager konfigurieren, Spring Data aktivieren, SpringMVC Setup (ViewResolver für Thymeleaf), etc. Die Idee von Boot ist jetzt, in Abhängigkeit (vor allem) vom Classpath diese Konfiguration zu defaulten und den Entwickler die Konfiguration dann selektiv abändern zu lassen. Das macht es sehr einfach, schnell zu starten und trotzdem die volle Kontrolle darüber zu behalten, was da konfiguriert wird.

3. Der Betrieb

Wenn man einem Nicht-Java-Entwickler erzählt, was man alles tun muss, um eine Webapplikation in Java neu anzulegen und zu starten bzw. zu betreiben, ist dieser nach 2 Minuten verwirrt und rennt davon. Warum muss es denn eigentlich komplexer sein, als eine Klasse mit einer main(…)-Methode zu starten? Richtig, muss es nicht! Zumindest für die Entwicklungszeit ist das ein sehr bequemer Weg, mit einer Serverapplikation zu arbeiten. Wir sehen in den Staaten auch vermehrt Produktionsbetrieb auf diese Art und Weise. Es deployed ohnehin kaum jemand mehr als eine Applikation in einen Server (aus guten Gründen). Von daher ist dieser Weg von „App-in-den-Server“ zu „Server-in-der-App“ nicht zu groß. Kritischer Punkt hier ist ganz klar die Integration des Systems in die Monitoring- und App-Management-Welt, die Boot über die Actuators angeht. Hier ist definitiv noch Spielraum für Erweiterungen.

Während Spring Boot auch Groovy integriert, worauf Eberhard Wolffs Artikel Bezug nimmt, weist Oliver Gierke darauf hin, dass Spring Boot alle Java-Entwickler adressiert:

Zusammenfassend: Boot ist ein wichtiger Baustein für uns, auch und vor allem für Java-basierte Spring-Anwendungen.

Gegenüber den Vorgängerversionen wurden in Spring Boot 1.0 RC1 eine Reihe von Bugfixes und Detail-Verbesserungen vorgenommen. Beispielsweise werden in YAML-Dateien nun invalide Zeilen gemeldet. Unterstützt wird jetzt  Thymeleaf 2.1.2. Ein Überblick über die Neuerungen kann man sich in den Release Notes verschaffen.

Geschrieben von
Hartmut Schlosser
Hartmut Schlosser
Content-Stratege, IT-Redakteur, Storyteller – als Online-Teamlead bei S&S Media ist Hartmut Schlosser immer auf der Suche nach der Geschichte hinter der News. SEO und KPIs isst er zum Frühstück. Satt machen ihn kreative Aktionen, die den Leser bewegen. @hschlosser
Kommentare

Hinterlasse einen Kommentar

Hinterlasse den ersten Kommentar!

avatar
400
  Subscribe  
Benachrichtige mich zu: