Springframework learning part 3 À propos de Pointcut of AOP.
Comme mentionné dans le résumé précédent, je résumerai à nouveau Pointcut.
Un pointcut est un groupe de points de jonction.
Par exemple, l'exécution suivante est également un point de point de jointure.
execution(* com.nanafushi.sample.*Controller.*(..))
Le pointcut peut être adapté en spécifiant un motif.
execution(* com.nanafushi.sample.*Controller.*(..))
En prenant l'exemple ci-dessus, si nous extrayons et expliquons dans l'ordre à partir de la gauche,
les pièces | rôle |
---|---|
execution | Directif. Déclencher l'exécution d'une méthode |
* | Valeur de retour. Seulement ceux dans le vide |
com.nanafushi.sample | paquet |
*Controller | nom de la classe. Cours avec contrôleur à la fin |
* | Nom de la méthode |
(..) | Argument de méthode. Argument arbitraire dans ce cas |
Les caractères génériques pouvant être utilisés avec Pointcut sont les suivants.
Caractère générique | rôle |
---|---|
* | Le principe est une chaîne de caractères arbitraire N'importe quel niveau pour les packages N'importe quel argument pour une méthode |
.. | Pour les packages, tout package 0 ou supérieur Tout argument 0 ou supérieur pour les arguments de méthode |
+ | En spécifiant après le nom de la classe, toutes les sous-classes et classes d'implémentation, y compris cette classe, sont incluses. |
Il existe différents types de pointcut. Je vais énumérer ceux que je pense que j'utiliserai souvent.
Pointcut | Déclencheur |
---|---|
execution | Pour les méthodes qui correspondent au modèle |
within | Cible les méthodes des classes qui correspondent au modèle |
bean | Cible les méthodes bean qui correspondent au modèle |
c'est tout. bon travail.
[Présentation approfondie du développement d'applications Spring Java avec Spring Framework](https://www.amazon.co.jp/Spring%E5%BE%B9%E5%BA%95%E5%85%A5%E9%96%80- Spring-Framework% 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