如何使用Spring AOP建议Java类的静态方法?

时间:2019-05-03 07:01:38

标签: java spring spring-aop pointcut

在执行类的静态方法之前和之后都需要进行一些日志记录。我尝试使用Spring AOP实现此目的,但是它不起作用,对于正常方法来说,它正在起作用。 请帮助我理解如何实现这一目标,如果可以使用注释来完成,那将是很好的。

2 个答案:

答案 0 :(得分:2)

也许您应该在使用Spring AOP之前先阅读文档。该声明适用于任何工具。如果您阅读它,将会发现Spring AOP基于dynamic proxies,这意味着它仅适用于

  • 非静态公共方法(如果使用CGLIB而不是JDK代理,则也是受保护的或程序包作用域的方法)
  • 在春豆上。

该手册还指出,如果您需要更强大的AOP解决方案,则可以use full AspectJ via load-time weaving (LTW)。在这种情况下,您还可以拦截静态方法以及Spring AOP用户梦dream以求的更多东西。

答案 1 :(得分:0)

请仔细阅读以下链接上的另一个堆栈溢出帖子

Set an AspectJ advise for static method

希望这很有用。谢谢