AOP是什么
用过spring开发的程序员对AOP应该都不陌生,AOP为Aspect Oriented Programming的缩写,意为:面向切面编程,通过预编译方式和运行期间动态代理实现程序功能的统一维护的一种技术。
简而言之,AOP就是为了减少我们纵向编码的复杂度,让我们可以更加的注重于业务实现。
AOP实战
准备工作
1.环境准备:
jdk1.8+springboot2.1.5+idea(强烈推荐使用idea开发)
2.依赖配置:
pom.xml引入aop的配置
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-aop</artifactId>
</dependency>
因为我配置了parent,所以无需再单独配置aop的版本,单独使用请配置对应版本的aop
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.1.5.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
AOP代码实现
新建一个ExceptionAspectController类用来实现接口监控和全局异常处理。
/**
* [说明]
*
* @author xiaoama
* @date 2019/12/16 20:20.
*/
@Component
@Aspect
public class ExceptionAspectController {
@Autowired
private ExceptionHandle exceptionHandle;//全局异常处理类
private ExceptionHandleRecords records;
public static final Logger logger = LoggerFactory.getLogger(ExceptionAspectController.class);
@Pointcut("execution(* com.xiaoama.test.controller.*.*(..))")//此处基于自身项目的路径做具体的设置
public void pointCut(){
}
@Around("pointCut()")
public Object handleCo