导语
AOP (Aspects Oriented Programming)面向切面编程,通过预编译的方式和运行期动态代理实现程序功能的统一维护。AOP作为Spring 框架中的一个重要的内容,通过对既有程序定义一个切点,然后再起前后切入不同的执行内容的方式来实现一些拓展性的操作。例如,打开/关闭数据库连接、打开/关闭事务、记录日志等等。
AOP不会破坏原有逻辑,所以它可以很好的对业务逻辑各个部件之间进行隔离,从而降低了各个部件之间的耦合度,这个在开发中是非常重要的,同时提高了程序的可重用性,同时提高了开发效率
准备工作
由于需要用到Web请求来完成切面的日志记录测试,所以在使用的时候,需要先引入Web模块,并且创建一个简单的Hello World的请求。
- pom.xml中引入Web模块
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
- 实现一个简单的RestFul的请求接口
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
/**
* @PACKAGE_NAME: com.example.demo.controller
* @NAME: HelloController
* @USER: NIHUI
* @DATE: 2022/5/30
* @PROJECT_NAME: demo
**/
@RestController
public class HelloController {
@GetMapping(