当前位置: 首页 > 知识库问答 >
问题:

Spring AOP:如何从Aspectj中排除所有final方法

秦宏盛
2023-03-14

我找不到如何在AspectJ1.9.1中排除所有final方法。我在这里找到了早期版本的答案,但我无法使其工作。

共有1个答案

伍宝
2023-03-14

它只能用于最终的类,而不是方法,您可以在这里查看-https://github.com/eclipse/org.aspectj/blob/master/org.aspectj.matcher/src/org/aspectj/weaver/patterns/typeCategoryTypePattern.java

您可以做的是将您的final方法移动到final类中,并通过smth将其排除在外

@Before("!within(is(FinalType)) && execution(* your_method_name(..)) ")
 类似资料:
  • 有多篇关于如何在Spring AOP中拦截内部方法调用的帖子。但是找不到任何与使用AspectJ排除内部方法相关的帖子。我们希望使用AspectJ编译时编织来实现它promise的运行时性能改进。 如果另一个类的方法调用了下面类TestService中的任何公共方法,则应该拦截该调用。但是,不应该截取从method1()到method2()的内部调用。我们只希望拦截器对每个对象只拦截一次。 一个示

  • 在spring引入GetMapping之前,我们只关心一个注释,所以这方面是有效的 但是在我们可以使用GetMapping、PostMapping之后,这一点不起作用,但是这些注释有一个元注释RequestMapping。 有没有什么方法可以轻松拦截所有/?

  • 问题内容: 我有针对特定软件包的此工作代码,但我想针对所有 controllers , service 和 dao 软件包进行配置 com.abc.xyz.content.controller com.abc.xyz.content.service com.abc.xyz.content.dao com.abc.xyz.category.controller com.abc.xyz.categor

  • 问题内容: 这样做的动机是我对StringBuilder最佳实践的一个较早问题的回答(“如意算盘”)。如果StringBuilder是可扩展的,则特定于域的子类可以扩展其流畅的接口,这将使StringBuilder传递给构建较大字符串部分的许多方法的代码更加严格。 我正在考虑为番石榴人士提供一些建议-也许是StringBuilder代表。 与仅使用final方法相比,StringBuilder用作

  • 通过Swagger/OpenApi生成代码时,我想从equals/hascode方法中排除一些属性。 以下是在YAML文件中定义的对象的示例: 下面是生成的等于方法: 问题是,我只希望在

  • 问题内容: 在春季介绍之前,我们只关心一个注释,因此,此方面有效 但是,在我们可以使用之后,这一点不起作用,但是这些注释具有meta注释。 有什么办法可以轻松拦截所有/ 吗? 问题答案: 我发现这句法这里对我的作品! 我也可以全部列出