-
Continue reading →: Spring Boot, OAuth2 and OpenID Connect
These two are often confused because OIDC is built on top of OAuth2. The purpose of OAuth2 ist authorization and the question: can this app access data on my behaf? OpenID Connect takes care of identity in addition and answers the question: who is the logged-in user? Think of OAuth2…
-
Continue reading →: Property Injection in Spring Boot
Configuration management is one of the most important topics for maintainable applications. In real projects, values can come from many places: In this post I will show: 1. Basic application.yml Spring Boot commonly uses YAML for configuration. 2. Inject Values with @Value The simplest way is using @Value. 3. Using…
-
Continue reading →: Asynchronous Call In Spring Boot / Java
Spring Boot: one common way to run async logic is @Async. Also the main Application class should be annotated with @EnableAsync. Spring Boot: one common way to run async logic is @Async. But there is an important detail: Calling an @Async method from the SAME class will NOT start a…
-
Continue reading →: Selbstliebe
lassen Sie mich mit einer einfachen Frage beginnen: Wann sind Sie sich das letzte Mal selbst mit echter Freundlichkeit begegnet? Nicht mit Leistung.Nicht mit Kritik.Sondern einfach mit Freundlichkeit. Heute möchte ich über zwei Dinge sprechen, die eng zusammengehören: Selbstliebe und selbstbild Wenn ich an meine Vergangenheit denke, sehe ich jemanden…
-
Continue reading →: Blocking and Reactive Rest Clients in Spring Boot/Java
In this post, I would like to explain three ways of implementing a rest client in Spring boot / Java. Using WebFlux Webclient, native RestTemplate and Apache Client. The simplest way is the native RestTemplate provided by the Spring Framework. It is blocking, and for each request, the connection is…
-
Continue reading →: Verfügbarkeit und Skalierbarkeit für eine Bit.ly-ähnlichen URL-Shortening-Service auf Kubernetes
Ich würde die Anwendung als eine Spring-Boot-App mit mehreren Replikas über ein Kubernetes Deployment betreiben und Horizontal Pod Autoscaling basierend auf CPU- und Request-Metriken aktivieren. Ein Kubernetes Service in Kombination mit Ingress sorgt für gleichmäßige Lastverteilung und Ausfallsicherheit. Ein Kubernetes Service verteilt eingehende Anfragen automatisch auf alle Pod-Replikas und leitet…
-
Continue reading →: Wut, Verletzlichkeit, Feedback und Kommunikation
Wut ist oft eine Schutzreaktion, die tiefere Emotionen wie Angst oder Verletzung verdeckt. Wenn wir uns angegriffen fühlen, neigen wir dazu, uns zu verteidigen – sei es durch Rückzug oder Gegenangriff. Doch echte Verbindung entsteht, wenn wir den Mut haben, verletzlich zu sein, anstatt impulsiv zu reagieren. Verletzlichkeit ist keine…
-
Continue reading →: Wertschätzende Kommunikation und Selbstbewusstsein: Warum sie Hand in Hand gehen
Wertschätzende Kommunikation (GFK) nach Marshall B. Rosenberg und Selbstbewusstsein sind tief miteinander verbunden. Die GFK legt den Fokus auf Empathie, Selbstreflexion und achtsames Miteinander – genau die Fähigkeiten, die auch zur Entwicklung und Stärkung von Selbstbewusstsein beitragen. Wenn wir lernen, unsere Bedürfnisse klar und wertfrei auszudrücken, uns selbst nicht zu…
-
Continue reading →: SOLID Examples, Part 2: Open/Closed Principle (OCP)
The Open/Closed Principle (OCP) states that a class should be open for extension but closed for modification, allowing new functionality without changing existing code. Problem Consider a class calculating discounts: Adding a new discount type means modifying the class, risking bugs. OCP Solution Introduce an abstraction: Use a context class:…
-
Continue reading →: SOLID examples, part 1
One example of the SOLID principles in Java is the Single Responsibility Principle (SRP). It states that a class should have only one reason to change, meaning it should only have one responsibility or function. For instance, consider a Report class. If this class handles generating the report and also…
