L’expression AspectJ donne une erreur de pointcut formelle non liée
J'ai dans aspectJ l'expression:
@Pointcut("within(com.param.cpms.dao.impl.ProjectMetaDaoImpl)")
public void daoExceptionHandle() {
}
À Printemps 3.0 de démarrage, j'obtiens l'erreur suivante :
nested exception is java.lang.IllegalArgumentException: error at ::0 formal unbound in pointcut
source d'informationauteur param
Vous devez vous connecter pour publier un commentaire.
Probablement le problème n'est pas dans votre coupe transverse (pointcut), mais dans un des conseils de l'aide qui coupe transverse (pointcut) et à l'aide d'un paramètre qui n'existe pas dans la coupe transverse (pointcut). Juste supprimer le paramètre de l'avis (ou bien de l'ajouter à la coupe transverse (pointcut)).
Le post est un peu vieux, mais par souci d'exhaustivité, je suis en ajoutant une autre raison, si vous utilisez @Autour de conseils.
Selon Printemps AspectJ documentation les conseils du premier argument doit être ProceedingJoinPoint. Si il vous manque, vous obtiendrez exactement ce message d'exception. Malheureusement, l'exception ne fait pas de conseils en erreur afin de résoudre le bug est un hit-and-miss.
J'ai eu cette erreur à cause de tort à l'importation de la classe. Je devrais avoir importées import org.aspectj.lang.JoinPoint classe , mais au lieu d'importer des autres Joinpoint classe à partir d'un package différent.
J'ai aussi eu ce problème, et dans mon cas c'était un faux importer à partir de:
org.aopalliance.intercept.Joinpoint;
Il doit être:
org.aspectj.lang.JoinPoint;
Si vous utilisez le format XML de configuration et si votre configuration est quelque chose comme ceci :
Puis dans les 2 scénarios, vous obtenez l'erreur :
Finalement, lorsque les paramètres de la méthode définie en XML incompatibles avec méthode, alors cette erreur va venir.
Ce n'est pas vous répondre, mais peut-être cela vous aidera un peu.
Spring AOP Tutoriel vous pouvez consulter ce tutoriel
J'ai eu la même Exception, mais, en raison de WebRequestj'ai supprimé cette et en utilisant les alternatives
Il était de Jonction ("p minuscule)
Changement de JointPoint("P majuscule)