Les classes utilisent le tissage du temps de compilation.
Imagine j'ai la classe d'aspect: p> Quel est le moyen correct d'utiliser @declarepecedence code> pour déterminer l'ordre d'exécution? p> p>
3 Réponses :
Veuillez lire le paragraphe "Conseil de la priorité" dans le Sémantique de la langue < / a> section de la documentation de AspectJ. p>
La précédente des aspects @Declarepecedence code> ne vous aidera pas dans ce cas, changeant uniquement l'ordre des conseils dans le fichier de format. P>
Si nous ne pouvons pas modifier la précision des conseils en un seul aspect, il sera-t-il préférable de créer différents aspects, puis de les commander?
Soit cela ou simplement changer l'ordre lexical des conseils dans un seul aspect, comme je l'ai dit.
Si vous recherchez l'ordre de multiples aspects, vous pouvez créer un aspect comme: Cela fonctionnera effectivement sur plusieurs aspects. À l'intérieur d'un aspect unique, c'est une autre question et ne peut pas être changé Afaik, mais je ne vois pas pourquoi ce serait un problème. P> p>
Désolé, cette réponse est fausse. L'affiche originale a posé une question sur l'ordre d'exécution des conseils dans un i> aspect, pas sur la préconcience inter-aspect.
Eh bien, la réponse n'est pas fausse en soi. Je comprends que la question initiale portait sur la préséance dans un aspect, mais j'ai clairement indiqué que dans ma réponse.
Je sais que tu l'as fait. Je peux également expliquer correctement comment implémenter égaux () code> et
hashcode () code> en Java, mais cela ne le rend pas pertinent dans ce contexte. :-) Aucune infraction signifiait.
Lorsque deux conseils définis dans le même aspect doivent être utilisés au même point de jointure, la commande est indéfinie (car il n'ya aucun moyen de récupérer l'ordre de déclaration par réflexion pour les classes compilées Javac). Envisagez de réduire de telles méthodes de conseil dans une méthode de conseil par point de jointure dans chaque catégorie d'aspect ou refacteur les pièces d'avis dans des classes d'aspect distinctes - qui peuvent être commandées au niveau de l'aspect. P> blockQuote>
de la documentation de Spring AOP ici (Section 6.2.4.7. Conseil Commande forte>) https://docs.spring.io/spring/docs/2.0.x/reference/aop.html p>
Si cela vous aide au cas où vous chercheriez cela ici. P>
OP a explicitement demandé de l'aide avec AspectJ, pas le Spring AOP.