Spring aop 实现异常拦截

使用aop异常挂载功能可以统一处理方法抛出的异常,减少很多重复代码,实现如下:

1、实现ThrowAdvice

1 public class ExceptionHandler implements ThrowsAdvice {
2 
3     private static Logger LOGGER = LoggerFactory.getLogger(ExceptionHandler.class);
4 
5     public void afterThrowing(Exception e) throws Throwable {
6         LOGGER.debug("exception 来了!");
7     }
8 }

2、在application.xml文件中配置

1     <bean id="exceptionHandler" class="com.lz.cgw.api.service.exception.ExceptionHandler" />
2 
3     <aop:config>
4         <aop:aspect ref="exceptionHandler">
5             <aop:pointcut id="exceptionService" expression="execution(* com.lz.cgw.api.service.ApiUserServiceImpl.*(..))" />
6             <aop:after-throwing pointcut-ref="exceptionService" method="afterThrowing" throwing="e" />
7         </aop:aspect>
8     </aop:config>

注意一下不要漏了throwing配置,且参数名称要去advice中的一置,否则绑定会报错。

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。