AOP mit Spring Framework

<

Eine der Schlüsselkomponenten von Spring Framework ist das Aspect Oriented Programming (AOP) Framework. Aspektorientierte Programmierung beinhaltet die Aufschlüsselung der Programmlogik in verschiedene Teile, die als sogenannte Bedenken bezeichnet werden. Die Funktionen, die sich über mehrere Punkte einer Anwendung erstrecken, werden als Querschnittsanliegen bezeichnet, und diese Querschnittsanliegen sind konzeptionell von der Geschäftslogik der Anwendung getrennt., Es gibt verschiedene gemeinsame gute Beispiele für Aspekte wie Protokollierung, Auditing, deklarative Transaktionen, Sicherheit, Caching usw.

Die Schlüsseleinheit der Modularität in OOP ist die Klasse, während in AOP die Einheit der Modularität der Aspekt ist. Dependency Injection hilft Ihnen dabei, Ihre Anwendungsobjekte voneinander zu entkoppeln, und AOP hilft Ihnen dabei, Querschnittsprobleme von den Objekten zu entkoppeln, die sie betreffen. AOP ist wie Trigger in Programmiersprachen wie Perl,. NET, Java und anderen.

Spring Das AOP-Modul bietet Abfangjäger zum Abfangen einer Anwendung., Wenn beispielsweise eine Methode ausgeführt wird, können Sie zusätzliche Funktionen vor oder nach der Methodenausführung hinzufügen.

AOP-Terminologien

Bevor wir mit der Arbeit mit AOP beginnen, sollten wir uns mit den AOP-Konzepten und-Terminologien vertraut machen. Diese Begriffe sind nicht spezifisch für Spring, sondern beziehen sich auf AOP.

Sr. No Begriffe & Beschreibung
1

Aspect

Dies ist ein Modul, das eine Gruppe von APIs, die eine cross-cutting Anforderungen., Zum Beispiel würde ein Protokollierungsmodul AOP Aspekt für die Protokollierung genannt werden. Eine Anwendung kann je nach Anforderung eine beliebige Anzahl von Aspekten haben.

2

Join point

Dies stellt einen Punkt in Ihrer Anwendung dar, an dem Sie den AOP-Aspekt einfügen können. Sie können auch sagen, dass es der tatsächliche Ort in der Anwendung ist, an dem eine Aktion mit Spring AOP Framework ausgeführt wird.

3

3

Dies ist die eigentliche Aktion, die entweder vor oder nach der Methodenausführung ausgeführt wird., Dies ist ein tatsächlicher Code, der während der Programmausführung von Spring AOP Framework aufgerufen wird.

4

Pointcut

Dies ist ein Satz von einem oder mehreren join-Punkte, in denen eine Beratung, die ausgeführt werden soll. Sie können Pointcuts mit Ausdrücken oder Mustern angeben, wie wir in unseren AOP-Beispielen sehen werden.

5

Einführung

Mit einer Einführung können Sie den vorhandenen Klassen neue Methoden oder Attribute hinzufügen.

6

Zielobjekt

Das Objekt wird durch einen oder mehrere Aspekte beraten., Dieses Objekt wird immer ein proxiertes Objekt sein, das auch als das angegebene Objekt bezeichnet wird.

7

Weben

Weben ist der Prozess der Verknüpfung von Aspekten mit anderen Anwendungstypen oder Objekten, um ein interaktives Objekt zu erstellen. Dies kann zur Kompilierungszeit, Ladezeit oder zur Laufzeit erfolgen.

Arten von Beratung

Frühling aspekte können arbeit mit fünf arten von beratung erwähnt wie folgt −

Sr.,Nein Beratung & Beschreibung
1

vor

Ausführen-Rat, bevor Sie die Methode der Ausführung.

2

nach

Führen Sie Ratschläge nach der Methodenausführung aus, unabhängig von ihrem Ergebnis.

3

nach der Rückkehr

Ausführen-Beratung nach der Methode der Ausführung nur, wenn die Methode erfolgreich abgeschlossen wurde.

4

nach-werfen

Ausführen-Beratung nach der Methode der Ausführung nur, wenn die Methode beendet durch das werfen einer Ausnahme.,

5

um

Führen Sie advice vor und nach dem Aufruf der advised Methode aus.

Implementierung benutzerdefinierter Aspekte

Spring unterstützt den @AspectJ-Annotationsstil und den schemabasierten Ansatz zur Implementierung benutzerdefinierter Aspekte. Diese beiden Ansätze wurden in den folgenden Abschnitten ausführlich erläutert.

Sr.,No Approach & Description
1 XML Schema based

Aspects are implemented using the regular classes along with XML based configuration.

2 @AspectJ based

@AspectJ refers to a style of declaring aspects as regular Java classes annotated with Java 5 annotations.

Advertisements

Share

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.