以下仅为个人总结,又不对的地方请指教,共同学习:
1、用@around标注的切面方法不一定有返回值,可以是用void声明的(有看到网友说环绕通知一定要有返回值,亲自验证过,这种说法不成立);
2、java.lang.IllegalArgumentException:error at ::0 formal unbound in pointcut
这个异常是由于切点表达式不正确引起的,不正确的情况太多,不一一列举了;
3、before和after标注的切面方法可以有返回值,但不起作用,不会返回给被拦截方法的调用方;
4、个人觉得可以用@around标注的方法做公共参数校验,首先获取目标方法的参数,校验通过则执行目标方法(pointcut.proceed()),否则不执行并返回拦截原因或其他信息。