Spring AOP coupe transverse (pointcut) pour annoté argument
Dire que j'ai une méthode comme suit:
public void method(@CustomAnnotation("value") String argument)
Est-il une coupe transverse (pointcut) expression qui pourrait sélectionnez toutes les méthodes avec des arguments annotée avec @CustomAnnotation? Si oui, est-il une manière que je pourrais avoir accès aller à la "valeur" de l'argument?
OriginalL'auteur mogronalol | 2012-04-20
Vous devez vous connecter pour publier un commentaire.
Sur la sélection de vos arguments :
ref : http://forum.springsource.org/archive/index.php/t-61308.html
Sur l'obtention de l'annotation param :
Vous obtiendrez les annotations que vous pouvez parcourir et utiliser instanceof pour trouver votre tenue d'annotation. Je sais que c'est hacky mais autant que je sache, c'est la seule façon pris en charge actuellement.
OriginalL'auteur MikePatel
À partir du Printemps Docs:
Qui fonctionne bien pour moi, sans aucun besoin de manipuler la signature de la méthode.
Remarque: Si vous utilisez un nom de coupe transverse (pointcut), parce que la coupe transverse (pointcut) les noms peuvent être surchargés, vous devez fournir correspondance (nom du paramètre et de l'ordre) des signatures.
@annotation
coupe transverse (pointcut) se réfère à des annotations sur la méthode, et non sur les paramètres.OriginalL'auteur Joseph Lust
Si vous avez plus d'un paramètre dans la méthode que vous devez utiliser également deux points pour mathing le nombre de paramètres (zéro ou plus)
OriginalL'auteur Przemek Grondek
Juste pour compléter la dernière réponse:
va correspondre à une méthode où l'une de l'argument de la méthode est annoté avec
@CustomAnnotation
, par exemple:Contrairement à
qui va correspondre à des méthodes où l'une de l'argument a l'annotation
@CustomAnnotation
, par exemple:où le pojo est déclarée comme suit:
Toute la différence réside dans le
@CustomAnnotation (*)
vs@CustomAnnotation *
dans la coupe transverse (pointcut) de la déclaration.OriginalL'auteur Mahieddine M. Ichir
Pour correspondre à 1..N annoté arguments quelle que soit leur position utilisation
OriginalL'auteur Dan Macák