AOP 是 Spring 体系中非常重要的两个概念之一(另外一个是 IoC),今天这篇文章就来带大家通过实战的方式,在编程猫 SpringBoot 项目中使用 AOP 技术为 controller 层添加一个切面来实现接口访问的统一日志记录。
一、关于 AOP
AOP,也就是 Aspect-oriented Programming,译为面向切面编程,是计算机科学中的一个设计思想,旨在通过切面技术为业务主体增加额外的通知(Advice),从而对声明为“切点”(Pointcut)的代码块进行统一管理和装饰。
这种思想非常适用于,将那些与核心业务不那么密切关联的功能添加到程序中,就好比我们今天的主题——日志功能,就是一个典型的案例。
![[图片上传失败...(image-6a7c4-1649329604951)]](/https://i-blog.csdnimg.cn/blog_migrate/07b1f6bb6bc507343de10243cbe0ba31.png)
AOP 是对面向对象编程(Object-oriented Programming,俗称 OOP)的一种补充,OOP 的核心单元是类(class),而 AOP 的核心单元是切面(Aspect)。利用 AOP 可以对业务逻辑的各个部分进行隔离,从而降低耦合度,提高程序的可重用性,同时也提高了开发效率。
我们可以简单的把 AOP 理解为贯穿于方法之中,在方法执行前、执行时、执行后、返回值后、异常后要执行的操作。
二、AOP 的相关术语
来看下面这幅图,这是一个 AOP 的模型图,就是在某些方法执行前后执行一些通用的操作,并且这些操作不会影响程序本身的运行。
![[图片上传失败...(image-16559f-1649329604951)]](/https://i-blog.csdnimg.cn/blog_migrate/7047622eab65edc53fe5067422eaf5ec.png)
我们了解下 AOP

本文介绍了如何使用 Spring Boot AOP 实现接口访问的统一日志记录。通过创建切面和通知,详细阐述了AOP的概念、相关术语以及实操步骤,帮助理解AOP在日志管理中的应用。

929

被折叠的 条评论
为什么被折叠?



