Posts

Microservices mit Spring Boot erstellen

Bild
In der Java-Welt ist Spring eines der meist genutzten Frameworks. Spring Boot bietet einen vereinfachten, schnellen Einstieg in die Entwicklung mit Spring. Wie man loslegt, wird in diesem Tutorial gezeigt. Spring Tool Suite installieren In unserer bevorzugten IDE Eclipse 😉, kann man die Spring Tools 4 einfach über den Eclipse Marketplace installieren. Dazu im Menu folgendem Klickpfad folgen: Help => Eclipse Marketplace... In diesem Blog-Post wird beschrieben, wie man Eclipse und Maven installiert und konfiguriert (inklusive Proxy für Konzern Mitarbeiter):  eclipse-als-ide-fur-java-spring.html Dann einfach nach "Spring Tools" suchen und man findet mehrere Versionen der Spring Tools. Bitte Version 4 bzw. die neuste installieren. Beim Installieren muss man nicht viel beachten: Lizenzen akzeptieren und Next-Button klicken. Hier ist es z.B. mit ein paar Screenshots gezeigt: https://www.codejava.net/ides/eclipse/install-spring-tool-suite-for-existing-eclipse-ide   In der  I...

Kotlin und Java Code im Spring Projekt mischen

Bild
Kotlin und Java sind beides Programmiersprachen, die auf der JVM aufsetzen. Deshalb ist es möglich Java Klassen in einem Kotlin Projekt zu schreiben und zu verwenden. Java-Dateien können aber auch automatisch in Kotlin übersetzt werden. Ich werde euch hier einen entsprechenden Mischmasch präsentieren! 😄 Warum Kotlin und Java mischen? Ein riesen Vorteil der Programmiersprache Kotlin ist aus meiner Sicht, dass wir einen großen Teil der vielen vorhandenen Java Frameworks und Bibliotheken (z.B. Spring) verwenden können. Das funktioniert, weil Kotlin genau wie Java auf der JVM (Java Virtual Machine) aufsetzt. Wenn man in Kotlin Java-Bibliotheken (jar Dateien) verwenden kann, kann man auch direkt Java Klassen verwenden und so den Code bzw. die Programmiersprachen mischen. In richtigen Projekten solltet ihr das nicht tun, weil es unnötige Komplexität erzeugt. Warum zeige ich es dann hier? Kotlin ist für mich die nächste Evolutionsstufe und ich möchte zeigen wie einfach und risikofrei ihr di...

Team-Event für Software-Entwickler: Willkommen im Clean Code Dojo

Bild
In Corona-Zeiten sind Team-Events rar geworden und trotz Video-Konferenz eher mäßig beliebt. Sicherlich gibt es hier auch schon einige gute Konzepte - ein weiteres Event-Konzept speziell für Software-EntwicklerInnen habe ich im Urlaub entdeckt: das virtuelle Clean Code Dojo. Das Clean Code Dojo Im Buch "The Clean Coder" erklärt Onkel Bob, wie wichtig Training für Software-EntwicklerInnen ist. Teil des Trainings sind natürlich auch alle möglichen Lernkonzepte, wie z.B. Schulungen, Fachbücher, Blogs, Podcasts usw. Er stellt aber auch eine weitere Trainings-Form vor, welche aus dem Kampfsport abgeleitet ist: das "Coding Dojo". In Onkel Bobs altem Blog gibt es dazu ebenfalls einen Eintrag:  http://www.butunclebob.com/ Hier auch noch der Link zum aktuellen Clean Coder Blog:  https://blog.cleancoder.com/ Im Coding Dojo führen die trainierenden SchülerInnen Katas aus, so wie ihr es aus Karate kennt:  Wikipedia Kata . Nur sind diese Katas keine Tritt- und Schlag-Choreografi...

REST / JSON APIs in Kotlin schnell gemacht mit Spring Boot

Als JVM basierte Programmiersprache kann Kotlin problemlos das Spring Framework verwenden. In diesem überarbeiteten Artikel  kotlin-spring-api.html  zeige ich wie man mit Spring Boot schnell ein Kotlin Web-Projekt aufsetzt und mittels Spring Annotationen einen REST-Service exponiert.

OAuth2 REST-API Clients leicht gemacht mit Spring

Bild
Viele REST-APIs sind heute mit OAuth2 abgesichert. Daher bietet uns Spring eine einfache Möglichkeit das OAuth2-Protokoll  in den bekannten HTTP-Clients WebClient und RestTemplate  zu implementieren, so dass wir uns nicht mehr selbst um Access und Refresh-Tokens kümmern müssen. Wie das geht zeige ich euch in diesem Artikel. Was ist OAuth2? OAuth steht für "Open Authorization" und ist ein offenes Standard-Protokoll zur sicheren Autorisierung von APIs. OAuth2 ist die überarbeitete Version von OAuth, welche die ursprüngliche Version häufig abgelöst hat. Mit OAuth2 können Endbenutzer einer Anwendung den Zugriff auf ihre Daten, bereitgestellt durch einen anderen Dienst, erlauben. Insbesondere im Kontext von Smartphone-Apps hat sich OAuth schnell durchgesetzt. Weiterführende Informationen zu OAuth2 findet ihr hier: https://www.ionos.de/digitalguide/server/sicherheit/was-ist-oauth/ OAuth2 API konsumieren Wie man mit Spring RestTemplate und WebClient REST-APIs aufruft, habe ich bere...

Lambda-Ausdrücke und funktionale Interfaces in Java

Bild
Funktionale Programmierung ist ein sehr beliebtes Programmierparadigma, daher ist es in vielen modernen Sprachen zu finden. Seit Version 8 bietet auch Java mit Lambda-Ausdrücken und funktionalen Interfaces Möglichkeiten zur funktionalen Programmierung an. In diesem Artikel schauen wir uns das genauer an. Was ist funktionale Programmierung? In der Objektorientierten Programmierung haben Methoden bzw. Funktionen Daten als Eingabeparameter und Rückgabewerte.  Die funktionale Programmierung ermöglicht uns neben Daten zusätzlich Funktionen zu verknüpfen und sie als Eingabeparameter und Rückgabe zu definieren. Zum Beispiel können wir einem Bubblesort Sortieralgorithmus eine Funktion übergeben, mit der der Sortieralgorithmus über die Reihenfolge der zu sortierenden Daten entscheidet. Der selbe Sortieralgorithmus kann so z.B. abhängig vom übergebenen Funktions-Parameter eine Liste von Autos nach Kaufpreis absteigend oder nach Erstzulassungs-Datum aufsteigend sortieren. Weitere Infos zur fu...

MongoDB im Turbomodus mit Spring Webflux und Spring Data reactive

Bild
Um den Turbo in der Kommunikation mit der Datenbank zu zünden, gibt es  Spring Data auch als reaktive Bibliothek.  Damit hilft uns das reaktive Paradigma die Interaktion mit unserer Datenbank zu beschleunigen.  In diesem Artikel zeige ich euch, wie man Spring Data Reactive Repositories für MongoDB benutzt. Einführung Spring Reactive Zur reaktiven Programmierung mit Spring habe ich bereits 2 andere Artikel geschrieben, in denen ich hauptsächlich die Interaktion zwischen Client und Server beschreibe. Dort findet ihr auch Erklärungen warum reaktive Programmierung als skalierbare, resiliente, responsive und Event-basierte Alternative zum klassischen Ansatz meist deutlich performanter ist: Spring's reaktiver WebClient Spring Webflux für reaktive Webservices Spring Data und MongoDB Auch zu Spring Data und MongoDB habe ich bereits einen Artikel geschrieben, dort geht es aber um die klassische Programmierung: Spring Data und MongoDB Der Nachteil dieses Ansatzes ist, dass die...