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.