spring mvc(aop),可以弹出方面或其他方式来获取一个拦截它被调用的方法吗?

时间:2017-08-21 03:17:35

标签: spring aop

//
public void testa(){
    testb();
    sayHello();
}
//
public void testb(){
    sayHello();
}
//
private void sayHello() {
}

我的问题是,当@Aspect使用@Around拦截3种方法时(testatestbsayHello)。如何通过哪种方法(a或b)调用sayHello()

1 个答案:

答案 0 :(得分:0)

尝试使用反射来获取被调用方法的堆栈跟踪。你可能需要这样的东西:

StackTraceElement[] stackTraceElements = Thread.currentThread().getStackTrace();

Javadocs说:

  

数组的最后一个元素表示堆栈的底部,这是序列中最近的方法调用。