intellij思想:无法从aspect类中的advice方法导航到advice方法

w46czmvw  于 2021-07-03  发布在  Java
关注(0)|答案(1)|浏览(1413)

我使用的是aspectj和Intellij2020.1。我无法通过单击其中一个advice方法旁边的“m”符号来导航到连接点,而我可以使用其他方法来导航。
我的@aspect类的结构

这里的建议“thisworks”能够导航切入点(profile.retrieve()),而方法“doesNetwork”不能导航到“client.retrieve(),显示“this advices no method”
课程简介:

实现clientsuper接口的类客户端:

两个类的对象都由springbean配置初始化,这是一个gradle项目。
你能帮我找出这种行为的原因吗?经过一个小时的研究,我找不到任何有用的东西。

mrzz3bfm

mrzz3bfm1#

实际上,不管你的想法是什么,你的第一个建议可能在运行时不起作用,因为你有 returning = "profileInfo" 但是没有 profileInfo 通知方法参数。相反,你有 validatingCarrier 它甚至不会出现在切入点中。
除此之外,imo idea的aspectj和spring aop支持在很久以前就已经开始了,当时还充满了热情,但一直没有真正完成。我试过了,在springaop项目中,交叉引用的东西对我根本不起作用,不管我使用哪个切入点。一般来说,虽然我不喜欢eclipse作为ide,但至少这种东西适用于原生aspectj(不过从未尝试过spring aop)。也许你应该在jetbrains搜索bug数据库和/或自己归档一个bug。如果这是某种意义上的工作,它逃避我如何配置它,以便这样做。
很抱歉没有更好的消息。我真的希望别人有。

相关问题