[JAVA] Über Spring AOP

AOP steht für Aspect Oriented Programming und ist eine Programmiermethode, die sich auf Querschnittsthemen konzentriert, die über mehrere Klassen verteilt sind.

[Gründliche Einführung in die Entwicklung von Spring Java-Anwendungen mit Spring Framework](https://www.amazon.co.jp/Spring gründliche Einführung in die Entwicklung von Java-Anwendungen mit Spring-Framework-NTT Data Co., Ltd./dp/4798142476/) Ich werde die wichtigen Punkte zur Erklärung von AOP zusammenfassen. * (Die Anzahl der Seiten im Buch wird angezeigt, damit Sie später darauf zurückblicken können.) *

AOP-Terminologie

Über typische Begriffe von AOP (S.59)

Beratung im Frühjahr verfügbar

Die folgenden 5 Ratschläge sind in Spring AOP verfügbar. (S. 60)

Advice Überblick
Before Hinweise, die vor dem Join Point ausgeführt werden.
After Returning Hinweis, der ausgeführt werden muss, nachdem der Verbindungspunkt normal endet. Wenn eine Ausnahme ausgelöst wird, wird sie nicht ausgeführt.
After Throwing Hinweise, die ausgeführt werden, nachdem eine Ausnahme am Join Point ausgelöst wurde. Wenn es normal endet, wird es nicht ausgeführt.
After Hinweis, der nach Join Point ausgeführt wird. Es wird unabhängig von der normalen Beendigung oder Ausnahme ausgeführt.
Around Ratschläge, die vor und nach dem Join Point ausgeführt werden.

Pointcut-Formel

Eine Beschreibungsmethode, mit der der auszuführende Verknüpfungspunkt durch Schreiben der Ausführung ausgewählt wird, wie im folgenden Quellcode gezeigt. (S.69)

@Aspect
@Component
public class MethodStartLogAspect {

    // *Beispiel für Ratschläge, die von einer beliebigen Methode mit dem Klassennamen Controller ausgeführt werden sollen
	@Before("execution(* *..*Controller.*(..))")
	public void startLog(JoinPoint jp) {
		System.out.println("Methodenstart:" + jp.getSignature());
	}
}

Wählen Sie den Zielverbindungspunkt anhand des Methodennamens aus

Verwenden Sie den Ausführungsspezifizierer, wenn Sie den Zielverbindungspunkt ausdrücken, indem Sie das Methodennamensmuster angeben.

execution(* com.example.domain.*Service.find*(..))

/*
Im obigen Beispiel

Der Rückgabewert ist*
Paketname ist com.example.domain
Typ, Klassenname*Service
Methodenname ist find*
Argumente von 0 oder mehr

Repräsentiert.
*/

Platzhalter in Pointcut-Ausdrücken verfügbar

Die Platzhalter, die im Pointcut-Ausdruck verwendet werden können, lauten wie folgt. (S. 70)

Platzhalter Erläuterung
* Grundsätzlich stellt es eine beliebige Zeichenfolge dar, aber wenn ein Paket ausgedrückt wird, repräsentiert es eine beliebige Paket-1-Schicht. Wenn ein Methodenargument ausgedrückt wird, repräsentiert es eine Anzahl von Argumenten.
.. Jede Möglichkeit, ein Paket darzustellen(0 oder mehr)Stellt ein Paket dar. Beliebig beim Ausdrücken von Methodenargumenten(0 oder mehr)Stellt ein Zahlenargument dar.
+ Durch Angabe nach dem Klassennamen werden die Klasse und alle ihre Unterklassen / Implementierungsklassen dargestellt.

Referenzquelle

Bücher

[Gründliche Einführung in die Entwicklung von Spring Java-Anwendungen mit Spring Framework](https://www.amazon.co.jp/ Gründliche Einführung in die Entwicklung von Spring Java-Anwendungen mit Spring-Framework-NTT Data Co., Ltd./dp/4798142476/)

Recommended Posts

Über Spring AOP
Über den Frühling AOP
Über Spring AOP Pointcut
Über den Frühling ③
Über das Binden der Spring AOP Annotation
Informationen zur Spring Security-Authentifizierung
Über DI des Frühlings ①
Über DI des Frühlings ②
Übersicht über Spring AOP
[Persönliche Notizen] Über das Spring Framework
Informationen zum Spring Framework-Kontextfehler
Einführung in Spring Boot ② ~ AOP ~
[Java] Spring AOP-Ausführungsreihenfolge
Über =
Informationen zu Anmerkungen zu Spring DI
Eine Geschichte über eine BeanNotOfRequiredTypeException, die nach der Anwendung von AOP im Frühjahr aufgetreten ist
So führen Sie einen Komponententest für Spring AOP durch
Frühlingsrahmen Einfaches Studienmemo (2): AOP
Spring AOP zum ersten Mal
Über Fehler bei der Implementierung der Federvalidierung
Über Kotlin
Über attr_accessor
Über Hinemos
Ausgabesystemprotokoll mit Spring AOP-Technologie
Frühling × Docker
Spring Dependency Injection mit Java, Kotlin
Javascript AOP
Über Schienen 6
Über Aufzählung
Über Polymorphismus
Über Optional
Über Hash
Über JitPack
Darüber ()
Informationen zur ersten Anzeige von Spring Framework
Über die Kapselung
Über JAVA_HOME
Über statische
Über Ausnahmen
Frühling Java
So schreiben Sie den Spring AOP Point Cut Specifier
Über den Umfang
[Maven] Über Maven
Informationen zum Entwerfen einer Spring Boot- und Unit-Test-Umgebung
Zusammenfassung dessen, was ich über Spring Boot gelernt habe
Über den offiziellen Startleitfaden für Spring Framework
Stimmt die Anmerkungen auf der Schnittstelle mit Spring AOP überein
Spring Boot + Spring Data JPA Informationen zu mehreren Tabellenverknüpfungen