编写切面时遇到的问题

1.切面前置通知执行两次

前置通知内容为鉴权,在测试时发现抛出异常和捕获异常的操作会执行两次,经过排查,发现原来的代码将统一异常处理类放到了controller包下,而切点声名路径就是controller包,因此当出现异常时,会被捕获,在执行handler方法前还会执行切面方法,导致前置通知执行两次。

解决方案:更加精确地定义切点。

@Pointcut("execution(public * com.xes.studentrecord.controller.*.*(..)) && !execution(public * com.xes.studentrecord.controller.BaseController.*(..))")
View Code

总结:要注意代码结构,如果代码结构不够规范,就会出现这种问题。

posted @ 2020-11-16 10:55  来一杯拿铁要浓的  阅读(117)  评论(0)    收藏  举报
$(document).ready(function(){ $("
").appendTo($("body")).bind("click", function(){ $("body,html").animate({ scrollTop: 0 }, 150); }); $('#cnblogs_post_body pre').find('>code').parent().css({'border':'dashed 1px #aaa','border-left':'solid 2px #6CE26C'}); $("#cnblogs_post_body").append('

感谢您的阅读,如果您觉得阅读本文对您有帮助,请点一下“推荐”按钮。本文欢迎各位转载,但是转载文章之后必须在文章页面中给出作者和原文连接
'); });