In diesem Artikel wird hauptsächlich der einfache Verwendungsbeispielcode des Spring Boot Interceptors vorgestellt.
1 Der Standard-Spring Boot Interceptor ist:
HandlerInterceptorAdapter
AbstractHandlerMapping
UserRoleAuthorizationInterceptor
LocaleChangeInterceptor
ThemeChangeInterceptor
LocaleChangeInterceptor und ThemeChangeInterceptor werden häufiger verwendet.
2. Die Implementierung eines benutzerdefinierten Interceptors erfordert nur 3 Schritte:
1), erstellen Sie unsere eigene Interceptor-Klasse und implementieren Sie HandlerInterceptor Interface .
2), erstellen Sie eine Java-Klasse erben Sie WebMvcConfigurerAdapter und überschreiben Sie die Methode addInterceptors.
3), instanziieren Sie unseren benutzerdefinierten Interceptor und fügen Sie dann das Objekt manuell zur Interceptor-Kette hinzu (hinzugefügt in der Methode addInterceptors).
3. Codebeispiel
IndexInterceptor.java-Klassencode:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
|
IndexInterceptor2.java-Klassencode:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
|
SimpleWebAppConfigurer.java-Klassencode:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
|
4. Interceptor-Parsing-Anweisungen
preHandle** : Vorverarbeitungsrückrufmethode zum Implementieren der Prozessorvorverarbeitung (z. B. Anmeldeprüfung). Der dritte Parameter ist der Antwortprozessor (z. B. unsere Controller-Implementierung im vorherigen Kapitel).
Rückgabewert: true bedeutet, den Prozess fortzusetzen (z. B. Aufruf). Der nächste Interceptor oder Prozessor);
false zeigt an, dass der Prozess unterbrochen ist (z. B. ein Fehler bei der Anmeldeprüfung) und keine weiteren Interceptoren oder Prozessoren mehr aufrufen. Zu diesem Zeitpunkt müssen wir eine Antwort generieren ;
postHandle**: Nachbearbeitungs-Rückrufmethode zur Implementierung der Nachbearbeitung des Prozessors (jedoch vor dem Rendern der Ansicht). Zu diesem Zeitpunkt können wir modelAndView (Model und ViewObjekt ) verarbeitet Modelldaten oder Ansichten modelAndView kann auch null sein.
afterCompletion**: Rückrufmethode, nachdem die gesamte Anforderung verarbeitet wurde, dh beim Rendern der Ansicht zurückgerufen wird. Bei der Leistungsüberwachung können wir beispielsweise die Endzeit aufzeichnen und die Verbrauchszeit hier ausgeben. und kann auch eine Ressourcenbereinigung durchführen, ähnlich wie „finally“ in „try-catch-finally“, ruft jedoch nur „afterCompletion**“ des Interceptors auf, dessen „preHandle“ in der Prozessorausführungskette „true“ zurückgibt. [Verwandte Empfehlungen]1.Kostenlose Java-Video-Tutorials
2. Umfassende Analyse von Java-AnnotationenFastJson Tutorial-HandbuchDas obige ist der detaillierte Inhalt vonDetaillierte Erläuterung von Beispielen für Abfangjäger in Java. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!