Java 获取与切入点相交的类的名称
方面Java 获取与切入点相交的类的名称,java,spring,aop,aspectj,spring-aop,Java,Spring,Aop,Aspectj,Spring Aop,方面 class SampleClass{ ChildClass childClass; public void init(){ childClass = ChildUtil.getChildClass(); childClass.callService("batman"); } } 我想要callService方法与方面相交的类的名称(即SampleClass)。有什么方法可以获得它吗?我用调用来代替通过执行进行拦截。然后我可以使用jp.getT
class SampleClass{
ChildClass childClass;
public void init(){
childClass = ChildUtil.getChildClass();
childClass.callService("batman");
}
}
我想要callService方法与方面相交的类的名称(即SampleClass)。有什么方法可以获得它吗?我用
调用来代替通过执行进行拦截。然后我可以使用jp.getThis()
来获取SampleClass名称。callService
是静态的吗?^No。让我来编辑它。@konstantiv.Salikhov的可能副本并没有从中得到太多。我不认为Spring AOP可能满足您的需求。您希望从SpringAOP中获得的信息是动态的:您可以从classSampleClass
或BatmanClass
调用childClass.callService()
,我认为Spring不知道哪个来自哪里。我认为您需要考虑纯AspectJ解决方案。
@Aspect
public class CallServiceAspect{
@After("execution(* com.xyz.ChildClass.callService(..))")
public void afterCallService(JoinPoint jp){
log.debug(jp.getTarget().getName());
}
}