让我们说我正在使用一些现有的java库,而我只有.class文件。但没有得到我期待的结果。所以我看一下源代码,看看那里有一些逻辑,想看看我的正确值是否达到了库代码。
我可以以某种方式记录到达.class文件的值吗?想到AOP ..?
来自外部库的方法。
public void updateValues(String value, MyClass classValue)
例如,我在源代码中看到了这一行,当运行它时,我想拦截它,就像将value
和classValue
写入日志文件一样。
答案 0 :(得分:2)
好吧,如果你有源代码那么为什么不调试呢?
但无论如何 - 可以使用AOP
。您需要在类路径中包含该.jar
文件。假设您已经配置了AOP
,那么您需要做的就是:
<aop:pointcut id="yourPointCut" expression="execution(* package.to.your.class.YourClass.updateValues(..))" />
此切入点允许您记录updateValues
方法的值。
答案 1 :(得分:1)
是的,您可以使用AOP来执行此操作,特别是使用
进行AspectJAspectJ文档相当不错。这不是火箭科学,只是一开始的新概念。因此,可能需要一段时间来包围它,但它是一个优雅而强大的工具。