我有这个场景
public List<Object> buildList( Context ctx){
List objList = new ArrayList();
//process for objList
return
}
在方面我喜欢这个
@Pointcut("execution(* com.personal.service.ProcessList.buildList(..))")
public void interceptor1() {
//pointcut identifier
}
/**
*
* @param proceedingJoinPoint
* @return
*/
@Around("interceptor1()")
public Object aroundAdvice(ProceedingJoinPoint proceedingJoinPoint){
Object[] arguments = proceedingJoinPoint.getArgs();
Context context = (Context) arguments[1];
try {
returnObj = proceedingJoinPoint.proceed();
} catch (Throwable e) {
e.printStackTrace();
}
if (context.equals("STANDARD"){
return standardList( (buildList)returnObj,context);
}
else if (context.equals("PRIVELEGE") {
return privList( (buildList)returnObj,context);
}
}
我希望为STANDARD-- standardInterceptor和PRIVELEGE privelegeInterceptor设置两个独立的拦截器,而不是具有if else条件。这可能吗? 如何定义切入点首先运行标准拦截器然后再运行privelege拦截器然后给出响应。
由于