Wie geht es weiter mit String Templates in Java?
Java 21 war vollgepackt mit spannenden und bahnbrechenden Neuerungen. Im Schatten der sehr präsenten Themen wurden relativ überraschend String Templates als Preview Feature eingeführt ... und ich möchte sie seitdem nicht mehr missen. Leider werden sie im OpenJDK 23 aufgrund eines notwendigen Redesigns zunächst wieder entfallen, sind aber für die folgenden Versionen erneut angekündigt.
Lasst uns jetzt trotzdem über die String Templates sprechen, ihre Vorteile, aber auch ihre Grenzen diskutieren. Sie ermöglichen das Einbetten von Ausdrücken in Zeichenketten und Textblöcken. Dank selbst definierbarer Logik ist diese Vorgehensweise sogar anpassbar. Das ermöglicht die gezielte Minimierung von Angriffsflächen (z. B. Verhinderung von SQL Injection). Durch das Erstellen der eigenen Prozessor-Logik können wir eingebettete Ausdrücke validieren, transformieren und aus Java Strings letztlich beliebige Java-Objekte wie JSON-Dokumente oder SQL-Resultsets erzeugen.
Ihr könnt diese Ideen jetzt schon in Eure tägliche Arbeit übernehmen, sofern Ihr Java 21 oder 22 einsetzt, und müsst dann für die kommenden Versionen nur ein paar Anpassungen vornehmen.