Schwitzen bei der Spring Masterclass

Florian Hug

Während vier Tagen konnte Florian Hug an einer Weiterbildung in Amsterdam seine Kenntnisse zum Thema Spring erweitern. Gleichzeitig stiegen in Holland erbarmungslos die Temperaturen.

In meinem Team setzen wir für neue Projekte am Liebsten Spring Boot ein. Dadurch habe ich sehr viel praktische Erfahrung mit diesem Framework. Es kommt jedoch vor, dass sich Spring Boot nicht so verhält, wie ich mir das vorstelle. Eine Suche auf Google stiftet dann noch mehr Verwirrung, denn Spring erschien im Jahr 2003 und stammt somit aus der Informatik-Antike. Doch es ist nicht veraltet – ganz im Gegenteil! Das Framework wird ständig weiterentwickelt. Nur das Internet vergisst nichts und somit beschreiben viele Suchresultate ein Spring zu Zeiten als es noch als gute Idee galt, Software mit XML zu konfigurieren. Um zu erfahren, was heute beim Programmieren von Spring-Applikationen der Stand der Technik ist und wie das Framework hinter den Kulissen funktioniert, durfte ich an der offiziellen Spring-Masterclass-Schulung in Amsterdam teilnehmen.

So fand ich mich im August mit 19 weiteren „Spring-Aficionados“ an einem recht warmen Dienstagmorgen in den Schulungsräumen von Trifork im Süden der Niederländischen Hauptstadt wieder. Kursleiter Joris Kuipers, der uns die kommenden vier Tage in die Geheimnisse von Spring einweihen sollte, bereitete uns auf ein umfangreiches Programm vor. Nach einer kurzen Vorstellungsrunde der Teilnehmer ging es dann auch schon los. Der Kurs bestand aus einer Abfolge von Präsentationen mit Ausführungen von Joris. Anschliessend fand meist ein Lab statt, in dem wir das zuvor gehörte selber ausprobieren und vertiefen konnten.

Spring-Guru Joris Kuipers erklärt die Finessen von Spring.

Der Springende Punkt

Im Kern ist Spring ein Dependency Injection-Framework. Wir sagen Spring in unserem Quelltext, welche Komponenten wir benötigen, um unsere Aufgabe zu erfüllen. Spring organisiert das dann für uns. Für gewöhnlich handelt es sich dabei um Datenbankverbindungen, Konfigurationsparameter oder Verbindungen auf externe Dienste. Dass dies funktioniert, wusste ich schon. Für mich war es aber sehr interessant zu hören, wie Spring diese Abhängigkeiten findet und woran es liegen kann, wenn meine benötigte Komponente nicht gefunden wird.

Auf das Dependency Injection-Thema folgte eine Präsentation mit dem Titel «Introducing Aspect Oriented Programming». Aspect Oriented Programing oder kurz AOP2, ist ein Begriff, den ich im Informatikstudium gehört und seither komplett vergessen habe. Dass die Präsentation das Paradigma noch einmal erklären will, zeigt mir, das ich nicht der Einzige mit AOP-Amnesie bin. Aspect Oriented Programming hat zum Ziel, Funktionalitäten, die über mehrere unabhängige Komponenten verwendet werden, zu zentralisieren. Dabei soll nicht viel zusätzlicher Quelltext geschrieben werden. Im Kontext von Spring handelt es sich bei diesen geteilten Komponenten zum Beispiel um die Benutzeranmeldung, Logging oder um Datenbanktransaktionen. Im Hintergrund ist auch in diesem Fall Dependency Injection am Werk. Somit schliesst sich der Kreis wieder.

Wir holen Spring ins Boot

Richtig interessant wurde es für mich persönlich in der zweiten Hälfte des Kurses. Dann drehte sich alles um Spring Boot. Dem Spannungsbogen entsprachen auch die Temperaturen, die an diesem Tag rekordverdächtige 38 Grad Celsius erreichten. Spring Boot ist eine Version des Spring Frameworks bei dem alle Voraussetzungen für den Betrieb schon eingebunden und vorkonfiguriert sind. Dabei handelt es sich um sogenannte «sensible defaults». Das sind Einstellungen und Module, die normalerweise sowieso bei jedem Projekt so gewählt werden. Dies ermöglicht es uns als Entwickler, bei neuen Projekten schnell an der Funktionalität für unsere Kunden zu arbeiten – denn wir verbringen keine lange Zeit mit der Konfiguration von Spring. Die Defaults sind so gut gewählt, dass wir uns meistens gar nicht damit auseinandersetzen müssen, wie Spring Boot funktioniert.

Neben den technischen Grundlagen waren vor allem am letzten Kurstag noch weitere nützliche Addons von Spring Boot ein Thema. Besonders spannend war für mich die Überwachung des Servers mit Micrometer. Das Feature stellt detaillierte Benchmarkdaten bereit.

Fazit

Alles in allem fand ich den Kurs in Amsterdam sehr interessant. Er enthielt für mich die richtige Mischung aus Dingen, die ich schon kannte sowie Hintergründe und Informationen, die für mich komplett neu waren. Die Balance zwischen herkömmlichem Spring und dem neuen Spring Boot fand ich sehr gut gewählt. Insbesondere in Hinblick darauf, dass sich sehr viel Spring-Wissen auch auf Boot übertragen lässt. Sehr gut fand ich auch, dass mit Joris Kuipers ein erfahrener Spring-Entwickler den Kurs leitete und er das vorgegebene Material durch viel praktische Erfahrung ergänzte.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.