在我的spring-boot应用程序中,我使用@AfterReturning来建议能够发送一些异步通知的方法。
这是当前实施的一个例子:
@AfterReturning(pointcut =
"execution(* test.NotificationService.sendNotification(..)) && args(informees, dataList)")
public void afterSendNotification(Informees informees, List<Data> dataList) {
...
}
在开发期间,sendNotification方法的签名从 sendNotification(Informees informees,Data data)更改为 sendNotification(Informees informees,List dataList)。问题是切入点不再建议该方法,并且不显示错误或警告。 intellij中的装订线图标只是告诉我&#34;建议没有方法&#34;。因此很难立即看到代码不能正常运行。
答案 0 :(得分:2)
遗憾的是,IntelliJ IDEA缺乏此类功能。它也不完全支持完整的AspectJ语法。这个非常出色的IDE有许多缺点,与其他人相比,这是我个人最喜欢的。 但是每当我想在AspectJ中做一些事情时,我就切换到Eclipse,这在这方面要优越得多,可能是因为AspectJ实际上是一个Eclipse项目,并且更好地维护了IDE。在那里你有一个外部参照(交叉引用)视图和视图,在两个方向上都使用了指针,从方面到应用程序代码,反之亦然。有关屏幕截图,请参阅my other answer。 更新:最后一个显示编辑器中的可视指示器和与任何连接点不匹配的建议的问题视图。这就是你要求的。
如果您使用AspectJ Maven插件使用Maven项目,那么您将获得两全其美的效果。这可以导入到IDEA和Eclipse中,因此您可以在大多数时间使用IDEA,但可以利用Eclipse中更好的方面支持来管理您的方面。很抱歉没有更好的消息,但JetBrains在处理与AspectJ相关的支持服务单或功能请求方面速度慢且不情愿。