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中的一置,否则绑定会报错。

你可能感兴趣的:(spring aop)