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

如何建议使用SpringAOP的静态方法?

别子实
2023-03-14

一些日志记录需要在类的静态方法执行前后完成。我试图使用Spring AOP实现这一点,但它不起作用,对于普通方法来说,它是起作用的。请帮助我理解如何实现这一点,如果可以使用注释来完成,那就太好了。

共有2个答案

曹疏珂
2023-03-14

请浏览下面链接上的另一个堆栈溢出帖子

为静态方法设置AspectJ建议

希望这是有用的。谢谢

漆雕绍晖
2023-03-14

也许您应该在使用Spring AOP之前阅读留档。这个说法对于任何工具都是成立的。如果您阅读它,您会注意到Spring AOP基于动态代理,这意味着它只适用于

  • 非静态公共方法(如果使用CGLIB而不是JDK代理,那么也可以使用受保护的或包作用域的方法)

手册还指出,如果您需要更强大的AOP解决方案,您可以通过加载时编织(LTW)使用完整的Athon J。在这种情况下,您还可以截获静态方法和更多Spring AOP用户梦寐以求的东西。

 类似资料:
  • 问题内容: 我收到“ 查找错误” 错误- 调用静态java.text.DateFormat方法, 并且我不知道为什么在下面做这些事情不好/不建议这样做的原因。 问题答案: DateFormat不是线程安全的,这意味着它们维护状态的内部表示。如果多个线程同时访问同一实例,则在静态上下文中使用它们会产生一些非常奇怪的错误。 我的建议是使变量在使用变量的位置本地化,而不是使它们成为类的静态属性。初始化类

  • 我已经用原始切入点和建议方法编写了简单方面: 我有以下基于Spring注释的应用程序配置: 和com中的实用程序类。mtag。util包: 但是当我打电话的时候 在单元测试中,我可以看到方法调用没有被拦截,我的@AfterResning建议不起作用。 但如果我将someMethod()类型更改为实例(非静态)方法,则切入点为 通过添加@Component注释和调用目标metod来管理Spring的

  • 我在想什么时候使用静态方法?假设我有一个类有几个getter和setter,一两个方法,并且我希望这些方法只能在类的实例对象上调用。这是否意味着我应该使用静态方法? 示例: ...或: 我很困惑!

  • 我希望在从另一个类调用的方法“SetTotalSum”中使用findViewById。我如何使用它,尽管它是一个静态方法?

  • 问题内容: 我想知道何时使用静态方法?假设我有一个带有几个和的类,一个或两个方法,并且我希望这些方法只能在该类的实例对象上调用。这是否意味着我应该使用静态方法? 例如 要么 我很困惑! 问题答案: 一个经验法则:问自己“即使尚未构建Obj,调用此方法是否有意义?” 如果是这样,那肯定是静态的。 因此,在一个类中,Car你可能有一个静态的方法,因为即使没有人制造过汽车,也可能想知道35mpg转换为什

  • 问题内容: 我想知道何时使用静态方法?假设我有一个带有几个getter和setter的类,一个或两个方法,并且我希望这些方法只能在该类的实例对象上调用。这是否意味着我应该使用静态方法? 例如 要么 (这是静态方式吗?) 我很困惑! 问题答案: 一个经验法则:问自己“即使尚未构建Obj,调用此方法是否有意义?” 如果是这样,那肯定是静态的。 因此,在一个类中,你可能有一个静态的方法,因为即使没有人制