Heim  >  Artikel  >  Java  >  Detaillierte Erläuterung der Rolle von Spring Aop in JAVA

Detaillierte Erläuterung der Rolle von Spring Aop in JAVA

Y2J
Y2JOriginal
2017-04-28 09:52:591474Durchsuche

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

Detaillierte Erläuterung der Rolle von Spring Aop in JAVA

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.

Detaillierte Erläuterung der Rolle von Spring Aop in JAVA

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.

Detaillierte Erläuterung der Rolle von Spring Aop in JAVA

Um diese horizontalen Funktionen am angegebenen Ort auszuführen, müssen Sie wissen, wo sich der angegebene Ort befindet

Detaillierte Erläuterung der Rolle von Spring Aop in JAVA

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

um Pointcut und Benachrichtigung zu kombinieren. Zusammen sind sie Aspekte, die angeben, wann und wo welche Methode ausgeführt werden soll. Definieren Sie diesen Aspekt in Spring AOP wie folgt:

@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:

Detaillierte Erläuterung der Rolle von Spring Aop in JAVA

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


Durch pointcut angegebene Methode Die Klasse, zu der sie gehört, muss ebenfalls von Spring injiziert werden, damit sie wirksam wird

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn