Spring AOP统一异常处理

1、添加依赖

1         <dependency>  
2             <groupId>org.springframework.boot</groupId>
3             <artifactId>spring-boot-starter-aop</artifactId>
4         </dependency>
5         <dependency>
6             <groupId>cglib</groupId>
7             <artifactId>cglib</artifactId>
8             <version>2.2.2</version>
9         </dependency>

2、在application.properties中添加配置

1 #aop
2 spring.aop.proxy-target-class=true

3、具体代码

 1 package cn.creditcrest.finance.rest.advice;
 2 
 3 import org.aspectj.lang.JoinPoint;
 4 import org.aspectj.lang.annotation.AfterThrowing;
 5 import org.aspectj.lang.annotation.Aspect;
 6 import org.aspectj.lang.annotation.Pointcut;
 7 import org.slf4j.Logger;
 8 import org.slf4j.LoggerFactory;
 9 import org.springframework.stereotype.Component;
10 
11 @Aspect
12 @Component
13 public class GlobalAspect {
14      
15     @Pointcut("execution(public * cn.creditcrest.finance..*.*(..))")  
16     public void pcMethod(){};  
17     
18     @AfterThrowing(pointcut = "pcMethod()",throwing="e")  
19     public void doException(JoinPoint jp,Throwable e){  
20         if(e!=null){  
21             Logger logger = LoggerFactory.getLogger(jp.getSignature().getClass());
22              logger.error(e.getMessage(),e);
23         }  
24     }
25 
26 }