如何创建一个切入调用者类型的切入点?

时间:2014-07-28 12:33:19

标签: java aspectj spring-aop

是否可以创建仅在从特定类调用方法时应用的切入点?

我只希望在调用上下文是特定类型时运行方面...

1 个答案:

答案 0 :(得分:3)

如果我理解这个问题,我建议在基本情景中使用:

call(* someMethod(..)) && within(SomeContainingClass)

“调用someContainingClass中的someMethod”

对于一个更动态的场景,你的类调用一些然后调用感兴趣的方法的二级类,我会使用cflow:

call(* someMethod(..)) && cflow(execution(* *(..) && within(SomeType))

“在SomeType中执行的方法的控制流程中调用someMethod”

后者为检查增加了一些运行时成本,而前者完全可以静态确定(在编织时)。