我从一个关于需要帮助创建一个利用方法注释中的值的特定切入点的原始问题开始
我决定我想问另一个问题来改变我正在采取的方法。我有一个方法(导航),它在该方法内部调用了另一个方法,我想获得@Around 建议。
@RequestMapping(method = RequestMethod.GET)
public String navigation(ModelMap model) {
...
// Call Auto Handling
logger.info("Call AutoHandling");
this.processAutoHandling(callSession, FunctionalArea.PRE_MAIN_MENU);
}
...
return forward(returnView);
}
这是否可能,因为如果该方法在同一个类中,我似乎无法让它工作。
如果它不在对象本身上,则此工作:
@Around("execution(* *.processAutoHandling(..)) &&" +
"args(callSession, functionalArea) && " +
"args(functionalArea) && " +
"target(bean)"
)
public Object processAutoHandlingCall2(ProceedingJoinPoint jp,
CallSession callSession,
FunctionalArea functionalArea,
Object bean)
throws Throwable {
logger.debug("processAutoHandleCall");
return jp.proceed();
}
在我的控制器中使用此调用:
autoHandlingComponent.processAutoHandling(callSession, FunctionalArea.PRE_MAIN_MENU);
代替
this.processAutoHandling(callSession, FunctionalArea.PRE_MAIN_MENU);