让我直接跳到示例中。
public class Target {
public static void main(String[] args) {
Target target = new Target();
Target target2 = new Target();
}
}
我尝试使用AspectJ捕获Object引用(* .hashCode())。我准备了如下代码:
public aspect ObjectCreationAspect {
before() : initialization(*.new(..)) && !within(ObjectCreationAspect) {
System.out.println();
}
}
我知道'初始化'会捕获'新'关键字,但我不知道如何通过这个'new'关键字创建对象本身。我尝试了一些'get'方法,但它们只获得普通名称,类型(不是对象),等等。我想要的是在此Aspect中打印与target.hashCode()和target1.hashCode()相同的值。
请给我一些提示。
答案 0 :(得分:1)
我找到了答案。
thisJoinPoint.getTarget().hashCode()
此代码将返回新创建的对象的引用。