In diesem Artikel wird hauptsächlich die Rolle von AOP im Spring-Framework von Java vorgestellt. Freunde, die es benötigen, können sich darauf beziehen
Wenn es bei der Protokollverarbeitung kein AOP gibt, fügen wir Protokolle zu jeder Methode hinzu. Verarbeitung, wie zum Beispiel
Aber an den meisten Tagen ist der Verarbeitungscode derselbe. Um eine Wiederverwendung des Codes zu erreichen, können wir die Protokollverarbeitung in eine neue Methode aufteilen. Dann müssen wir diese Methoden aber noch manuell einfügen.
Aber diese beiden Methoden sind stark gekoppelt. Wenn wir diese Funktion zu diesem Zeitpunkt nicht benötigen oder zu anderen Funktionen wechseln möchten, müssen wir eine verwenden durch eine Überarbeitung.
Durch dynamischen Proxy kann der entsprechende Prozess am angegebenen Ort ausgeführt werden. Auf diese Weise können einige horizontale Funktionen extrahiert werden, um ein unabhängiges Modul zu bilden, und diese Funktionen können dann an der vorgesehenen Stelle eingefügt werden
. Diese Art des Denkens wird aspektorientierte Programmierung oder AOP genannt.
Um diese horizontalen Funktionen am angegebenen Ort auszuführen, müssen Sie wissen, wo sich der angegebene Ort befindet
Beispielsweise wird im obigen Bild die AOP-Implementierung auf Methodenebene in einer Programmausführungskette MethodeDetaillierte Erläuterung der Rolle von Spring Aop in JAVA als Schnittpunkt bezeichnet, was bedeutet, dass die Querschnittsfunktion ausgeführt wird, wenn MethodeDetaillierte Erläuterung der Rolle von Spring Aop in JAVA ausgeführt wird. also ist es vor oder nach MethodeDetaillierte Erläuterung der Rolle von Spring Aop in JAVA? Was ist die Ausführung? Diese werden durch Beratung konkretisiert. Es gibt Detaillierte Erläuterung der Rolle von Spring Aop in JAVA Arten von Ratschlägen, nämlich
Advice Type Introduction
Before (Pre-Advice) wird ausgeführt, bevor die Zielmethode aufgerufen wird
After (Post-Benachrichtigung) Wird ausgeführt, nachdem die Zielmethode aufgerufen wurde
After-Return (Return-Benachrichtigung) Wird ausgeführt, nachdem die Zielmethode erfolgreich ausgeführt wurde
Nachauslösen (Ausnahmebenachrichtigung) Nachdem die Zielmethode eine Ausnahme ausgelöst hat, führen Sie
Around (Around-Benachrichtigung) aus, was dem Zusammenführen von Präfix und Postfix
@Aspect @Component public class UserAspect { @Before("execution(* com.aop.service.impl.UserServiceImpl.login(..))") public void loginLog(){ System.out.println("user login"); } }Verwenden Sie die Annotation @Aspect, um eine bestimmte Klasse als Aspekt zu deklarieren. Auf diese Weise können die Methoden unter der Klasse als horizontale Funktionspunkte deklariert und eingefügt werden in „Standort angeben“. Verwenden Sie den Ausführungsausdruck, um an diesem Punkt zu deklarieren. Das Format lautet wie folgt: Die erste Position gibt den Rückgabewert der Methode an, das *-Zeichen stellt einen beliebigen Rückgabewerttyp dar. und dann die Position In den Klassen- und Methodennamen stellt das *-Zeichen auch eine beliebige Methode in der Klasse dar. Im vorherigen Beispiel lautet der Methodenname login, der die Anmeldemethode in der Klasse angibt. Dann ist der letzte Parameter der Methodeneingabeparameter. Da Java das Überladen unterstützt, kann Ihnen dieser Parameter dabei helfen, es genauer zu positionieren. Zwei Punkte stehen für einen beliebigen Parametertyp. Auf diese Weise teilt der Ausführungsausdruck dem Programm mit, wo die Benachrichtigung ausgeführt werden soll. Die durch Annotationen wie @Before geänderte Methode ist der Inhalt der Benachrichtigung, das heißt, was zu tun ist. An diesem Punkt können wir Spring Aop verwenden, aber es gibt zwei Punkte, die beachtet werden müssen Aspektklasse als Bean deklarieren
Das obige ist der detaillierte Inhalt vonDetaillierte Erläuterung der Rolle von Spring Aop in JAVA. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!