Aujourd’hui on va parler d’un problème qui m’a valu quelques arrachages de cheveux sur Spring, à savoir l’AOP, et pour être plus précis la définition des points de coupe.
Débloque les + belles offres tech en 10 mins
Autant le dire de suite cette astuce de code va être très courte mais pourtant très importante. Enfin bref si on suit la doc de Spring disponible ici pour faire un aspect qui réagit en présence d’une annotation, la documentation indique ceci :
@Before("com.xyz.lib.Pointcuts.anyPublicMethod() && @annotation(auditable)")
public void audit(Auditable auditable) {
AuditCode code = auditable.value();
// ...
}
Le seul problème est qu’elle omet un détail très important, à savoir le contenu du paramètre @annotation
de Spring-el. Ça paraît stupide mais c’est pourtant capital : le nom du paramètre doit correspondre exactement au nom du paramètre de la méthode. Ainsi si nous avions décidé d’appeler notre paramètre toto
il aurait fallu écrire @annotation(toto)
comme dans l’exemple ci-dessous.
@Before("com.xyz.lib.Pointcuts.anyPublicMethod() && @annotation(toto)")
public void audit(Auditable toto) {
AuditCode code = toto.value();
// ...
}
Et si vous ne respectez pas cette règle, Spring vous crachera une IllegalArgumentException
avec un message assez obscur.
Débloque les + belles offres tech en 10 mins
Cet article vous a plu ? Vous aimerez sûrement aussi :
Julien
Moi c’est Julien, ingénieur en informatique avec quelques années d’expérience. Je suis tombé dans la marmite étant petit, mon père avait acheté un Apple – avant même ma naissance (oui ça date !). Et maintenant je me passionne essentiellement pour tout ce qui est du monde Java et du système, les OS open source en particulier.
Au quotidien, je suis devops, bref je fais du dév, je discute avec les opérationnels, et je fais du conseil auprès des clients.
Dans le cadre de leurs développements, les entreprises se tournent de plus en plus vers…
La vie des informaticiens consiste à apprendre différents langages de programmation et technologies. Et si…
Dans cet épisode, partons à la rencontre d’Eric, l'un des cofondateurs de l’entreprise Hektore, une…
La saison hiver des QCMs WeLoveDevs s'est terminée le 29 février, et c'est Manuvai Rehua…
Après trois mois d'enquête, du 18 septembre au 18 décembre, l'AFUP a publié son baromètre.…
Il y a plusieurs informations aujourd'hui. La première c'est que c'est la fin de l'Hiver…