通过使用AspectJ,我怎样才能获得对象'由' new'创建的参考关键词?

时间:2014-04-03 07:20:00

标签: java aspectj aop

让我直接跳到示例中。

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()相同的值。

请给我一些提示。

1 个答案:

答案 0 :(得分:1)

我找到了答案。

thisJoinPoint.getTarget().hashCode()

此代码将返回新创建的对象的引用。