Sobes.tech
Junior — Middle

Wie ist das 'Template-Methode'-Muster im Spring-Framework implementiert?

sobes.tech KI

Antwort von AI

In Spring wird das Muster "Template-Methode" durch abstrakte Klassen und Hooks implementiert, wobei die Basisklasse den allgemeinen Algorithmus definiert und Unterklassen einzelne Schritte überschreiben. Zum Beispiel gibt es im Spring Framework die Klasse JdbcTemplate, die das Arbeitsmuster mit JDBC vorgibt: Verbindung öffnen, Abfrage ausführen, Ergebnis verarbeiten und Ressourcen schließen. Der Benutzer überschreibt nur den Teil, der mit der Ergebnisverarbeitung zu tun hat (z.B. mittels RowMapper).

Beispiel für eine vereinfachte Template-Methode:

public abstract class AbstractProcessor {
    public void process() {
        stepOne();
        stepTwo();
        stepThree();
    }

    protected abstract void stepOne();

    protected void stepTwo() {
        // gemeinsamer Schritt, kann überschrieben werden
        System.out.println("Standard-Schritt zwei");
    }

    protected abstract void stepThree();
}

public class ConcreteProcessor extends AbstractProcessor {
    @Override
    protected void stepOne() {
        System.out.println("Benutzerdefinierter Schritt eins");
    }

    @Override
    protected void stepThree() {
        System.out.println("Benutzerdefinierter Schritt drei");
    }
}

Auf diese Weise nutzt Spring dieses Muster, um wiederkehrende Operationen zu kapseln und Erweiterungspunkte bereitzustellen.