Springframework Learning Teil 3 Über Pointcut von AOP.
Wie in der vorherigen Zusammenfassung erwähnt, werde ich Pointcut noch einmal zusammenfassen.
Ein Pointcut ist eine Gruppe von Verbindungspunkten.
Die folgende Ausführung ist beispielsweise auch ein Join Point Pointcut.
execution(* com.nanafushi.sample.*Controller.*(..))
Pointcut kann durch Angabe eines Musters abgeglichen werden.
execution(* com.nanafushi.sample.*Controller.*(..))
Nehmen wir das Obige als Beispiel, wenn wir in der Reihenfolge von links extrahieren und erklären,
Teile | Rolle |
---|---|
execution | Richtlinie. Lösen Sie die Ausführung einer Methode aus |
* | Rückgabewert. Nur die, die nichtig sind |
com.nanafushi.sample | Paket |
*Controller | Name der Klasse. Klasse mit Controller am Ende |
* | Methodenname |
(..) | Methodenargument. Beliebiges Argument in diesem Fall |
Die Platzhalter, die mit Pointcut verwendet werden können, lauten wie folgt.
Platzhalter | Rolle |
---|---|
* | Das Prinzip ist eine beliebige Zeichenfolge Beliebige Ebene für Pakete Beliebiges Argument für eine Methode |
.. | Für Pakete ein Paket mit 0 oder mehr Für Methodenargumente ein beliebiges Argument von Null oder höher |
+ | Durch Angabe nach dem Klassennamen werden alle Unterklassen und Implementierungsklassen einschließlich dieser Klasse eingeschlossen. |
Es gibt verschiedene Arten von Pointcut. Ich werde diejenigen auflisten, von denen ich denke, dass ich sie oft verwenden werde.
Pointcut | Auslösen |
---|---|
execution | Für Methoden, die dem Muster entsprechen |
within | Zielt auf Methoden von Klassen ab, die dem Muster entsprechen |
bean | Zielt auf Bean-Methoden ab, die dem Muster entsprechen |
das ist alles. Gut gemacht.
[Gründliche Einführung in die Entwicklung von Spring Java-Anwendungen mit Spring Framework](https://www.amazon.co.jp/Spring%E5%BE%B9%E5%BA%95%E5%85%A5%E9%96%80- Frühlingsrahmen% E3% 81% AB% E3% 82% 88% E3% 82% 8BJava% E3% 82% A2% E3% 83% 97% E3% 83% AA% E3% 82% B1% E3% 83% BC% E3% 82% B7% E3% 83% A7% E3% 83% B3% E9% 96% 8B% E7% 99% BA-% E6% A0% AA% E5% BC% 8F% E4% BC% 9A % E7% A4% BENTT% E3% 83% 87% E3% 83% BC% E3% 82% BF / dp / 4798142476 /)
Recommended Posts