我使用的是aspectj和Intellij2020.1。我无法通过单击其中一个advice方法旁边的“m”符号来导航到连接点,而我可以使用其他方法来导航。
我的@aspect类的结构
这里的建议“thisworks”能够导航切入点(profile.retrieve()),而方法“doesNetwork”不能导航到“client.retrieve(),显示“this advices no method”
课程简介:
实现clientsuper接口的类客户端:
两个类的对象都由springbean配置初始化,这是一个gradle项目。
你能帮我找出这种行为的原因吗?经过一个小时的研究,我找不到任何有用的东西。
1条答案
按热度按时间mrzz3bfm1#
实际上,不管你的想法是什么,你的第一个建议可能在运行时不起作用,因为你有
returning = "profileInfo"
但是没有profileInfo
通知方法参数。相反,你有validatingCarrier
它甚至不会出现在切入点中。除此之外,imo idea的aspectj和spring aop支持在很久以前就已经开始了,当时还充满了热情,但一直没有真正完成。我试过了,在springaop项目中,交叉引用的东西对我根本不起作用,不管我使用哪个切入点。一般来说,虽然我不喜欢eclipse作为ide,但至少这种东西适用于原生aspectj(不过从未尝试过spring aop)。也许你应该在jetbrains搜索bug数据库和/或自己归档一个bug。如果这是某种意义上的工作,它逃避我如何配置它,以便这样做。
很抱歉没有更好的消息。我真的希望别人有。