美文网首页
Aop中环绕通知一些屁事及阻止切入点执行时发生的异常

Aop中环绕通知一些屁事及阻止切入点执行时发生的异常

作者: ratil_ | 来源:发表于2018-06-29 22:52 被阅读0次

环绕通知必须有一个Object返回值, return ProceedingJoinPoint对象的proceed()方法, 如果proceed(new Object[] {"1", "2"}) 方法带有参数, 则会替换切入点的参数


异常一: org.springframework.aop.AopInvocationException: Null return value from advice does not match primitive return type for...

异常二: java.lang.ClassCastException: java.lang.Object cannot be cast to java.lang.Number

这是切入点:

切入点 环绕通知 异常一
异常二

异常一中, 在环绕通知中返回的result是 Object result = null; 定义;

异常二中, 在环绕通知中返回的result是 Object result = new Object(); 定义;

实际解决两个异常的方法:

       原因都是因为切入点中的返回值为 int 基本类型, 而环绕通知返回的类型为 Object 类型, 需要将切入点的返回类型定义为包装类,以便在阻止切入点时可以接受 null 值.

相关文章

网友评论

      本文标题:Aop中环绕通知一些屁事及阻止切入点执行时发生的异常

      本文链接:https://www.haomeiwen.com/subject/uuezyftx.html