HMww07 – Die 6 Sterne Folge: Spring Boot

Nachdem Christian mich in der letzten Folge fragte, was eigentlich Spring ist, ist es heute höchste Zeit, sich mal den Thema Spring und Spring Boot anzunähern. Der perfekte Gast hierfür ist Johannes Edmeier (twitter.com/joshiste), der schon seit einigen Jahren in der Community aktiv ist und u.a. den Spring Boot Admin betreut.

Johannes erklärt mir, wie sich JavaEE und Spring voneinander abgrenzen und warum es sich lohnen kann, hier auf Spring zu setzen. Spring ist open source und erlaubt Euch aktiv an der Entwicklung teilzunehmen (github.com/spring-projects). In vielen Fällen kann es sich lohnen, hier noch etwas weiter zu gehen und Spring Boot einzusetzen. Gerade, wenn man schnell loslegen möchte und wenig Aufwand in die Konfiguration investieren möchte.

Das Tolle an Spring Boot ist, dass es gerade den Einstieg enorm vereinfacht: ihr könnt unter start.spring.io Euer Projekt einfach konfigurieren und diese dann auch direkt starten. Johannes nutzt dies auch gerne mal für kleine Projekte.

Richtig ins Schwärmen kommt Johannes beim Thema Dependencies: Hier kann man sich bei Spring Boot darauf verlassen, dass alles gut zusammen funktioniert. Gerade für den Einstieg natürlich ein großer Vorteil aber auch für erfahrene Spring Entwickler ein klarer Vorteil.

Eine Alternative aus dem Java Ökosystem zu Spring Boot ist übrigens Dropwizard (dropwizard.io) bei dem sich das Spring Boot Team auch ein paar Dinge abgeguckt hat.

Die von Johannes erwähnte URL guides.spring.io gibt es nicht, richtig ist hier spring.io/guides. Dort findet ihr dann zahlreiche Guides, die Euch den Einstieg in Spring und Spring Boot vereinfachen.

Die Seite zur Twelve Factor App findet ihr unter 12factor.net.

Wir sprechen noch über das Zusammenspiel mit den unterschiedlichen JVM Sprachen wie Scala, Groovy oder auch Kotlin: Hier kann man bei Spring aus dem vollen schöpfen, auch wenn es hier und da vielleicht nicht perfekt zueinander passt. Wenn ihr Groovy einsetzt, braucht es auch nicht mehr als einen Tweet für die erste Anwendung.

Beim Gespräch über Microservices offenbart sich dann, dass ich wohl während des Studiums etwas zuviel World of Warcraft gespielt habe: Ich meinte natürlich Zuul von Netflix und nicht Gruul.

Natürlich frage ich Johannes auch ein paar Dinge zum Spring Boot Admin (github.com/codecentric/spring-boot-admin) und erfahre auch ein paar Dinge zu dessen Geschichte. Spring Boot Admin nutzt die Actuator Endpoints von Spring Boot Anwendungen und stellt eine UI für diese bereit. So lassen sich auch mehrere Anwendungen bspw. in einem Microservice Umfeld, bequem überwachen. Zudem bietet es einige Konfigurationsmöglichkeiten. Wenn ihr Spring Boot einsetzt und ein Monitoring Tool benötigt, lohnt ein Blick auf den Spring Boot Admin.

PS: Wir haben heute ein paar Störgeräuche dabei, die mit dem Mikro zusammenhängen. Das wird in den nächsten Folgen wieder besser.