Spring AOP环绕异常影响的报错

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u014427391/article/details/90109833

最近遇到一个问题,异常是:


java.lang.ClassCastException: org.springframework.http.ResponseEntity cannot be cast to org.springframework.web.servlet.ModelAndView

网上去stackoverflow搜,也是搜到这个问题:https://stackoverflow.com/search?q=java.lang.ClassCastException%3A+org.springframework.http.ResponseEntity+cannot+be+cast+to+org.springframework.web.servlet.ModelAndView, 不过和自己遇到的不一样,很奇怪的类型转换,导致ModelAndView页面跳转都出异常,我怀疑是jar冲突,不过有不像,这里只是个页面跳转而已,类型转换异常很奇怪?

在这里插入图片描述

经过比较长时间的排查,调试,找到了原因:原来是被一个打日志切面影响了,所谓AOP,就是在运行时,动态地将代码切入到类的指定方法、指定位置上的编程思想就是面向切面的编程。虽然说切面很好用,不过用的不当也是一堆坑

在这里插入图片描述
这是切面在环绕里的代码,加了try…catch…,不知道为什么环绕里的代码异常,然后事务回滚,在catch里又加了ResponseEntity对象,所以就这样出现异常的,TODO 做个笔记记录一下,不过切面为什么异常了,没找到原因,所以切面里的异常要慎用

猜你喜欢

转载自blog.csdn.net/u014427391/article/details/90109833