Eigene Properties im Banner

Ein nettes Feature von Spring Boot ist der standardmäßige Banner in der Logausgabe nach dem Start der Anwendung. Der nachfolgende Banner zeigt nicht die übliche ASCII Art, sondern wurde auf schegge.de abgeändert. Außerdem wurden, neben der verwendeten Spring Boot Version, noch der Startzeitpunkt und der Autor der Anwendung ausgegeben.

Caching und Spring Data JPA

Im Zuge der Implementierung einer Restschnitstelle für die Verwaltung von Ahnenfoschungsvereinen kam die Frage auf, ob man die Datenbankabfragen nicht cachen könnte. Da der Bestand an solchen Vereinen sich selten verändert, liefert dieser Mikroservice fast immer identische Ergebnisse.

Mengenlehre auf Kalenderblättern

Kaum waren die Beiträge über Feiertage veröffentlicht, da kommt eine Anfrage zur Arbeitszeitberechnung von meiner Gattin.

Das Problem, das meine Ehefrau mir schilderte, ist den Eltern schulpflichtiger Kinder wohlbekannt. Arbeitnehmer haben viel weniger Urlaubsanspruch als ihre Kinder Ferientage. Für einen Arbeitgeber wird dies zu einem Problem, wenn die Mitarbeiter Schulkinder betreuen und keine Schulkinder zur Verfügung stehen.

Rest mit Spring Data JPA Projections

Die Entwicklung von Rest Schnittstellen mit Spring Boot wird durch viele Features des Frameworks begünstigt. Insbesondere durch die einfache Umsetzung der Rest Controller mit Hilfe einer Vielzahl von Annotationen und die Persistenz mit Spring Data JPA.

Während die Persistenzschicht mit ihren Repositories auf Entity Klassen arbeitet, werden vom Rest Controller DTOs verwenden. Entities und DTO arbeiten auf der Grundlagen identischer Domänenobjekte, unterscheiden sich aber zwangsläufig durch ihre sehr unterschiedliche Nutzung. So besitzen Entities häufig Attribute zur Speicherung des Änderungsdatums und eines eindeutigen Datenbankschlüssels.

Autokonfiguration in Spring Boot

Eines der interessantesten Features von Spring Boot bemerkt man immer erst dann, wenn es mal nicht da ist. Im Beitrag Frontend Validierung mit Spring Boot (Teil 2) habe ich ein kleinen Framework vorgestellt, das man in eigene Applikationen einbinden kann. Mein Erstaunen war groß, als es gleich beim ersten Mal nicht funktionierte.