类标题的对象的getDescription方法被一个方面拦截。如何访问对象本身的实例。
@Around("execution(String com.*.*.*.Title.getDescription(..))")
public String getInternationalizedTitleDescription(ProceedingJoinPoint joinPoint) throws Throwable {
if (something){
return joinPoint.proceed();
} else {
//here I need access to instance to Title
//Title t = joinPoint.getObject();
//return SomeOtherObject.getTitleData(t);
}
}
答案 0 :(得分:1)
根据您想要的对象使用ProceedingJoinPoint#getTarget()
或ProceedingJoinPoint#getThis()
。
返回目标对象。这将永远是同一个对象 与目标切入点指示符匹配。除非你具体 需要这种反射访问,你应该使用目标切入点 指示器获取此对象以获得更好的静态类型和 性能
返回当前正在执行的对象。这将永远是相同的 对象与此切入点指示符匹配。除非你 特别需要这种反射访问,你应该使用这个 切入点指示器获取此对象以获得更好的静态类型和 性能
基本上,this
是在(代理)上调用方法的对象,而target
是代理对象。