上篇我们学习了《SpringBoot实战14-Spring基础-Spring EL表达式》,本篇我们学习面向切面编程AOP。
![c283c4a91911f20b07a6f20218f4754a.png](https://img-blog.csdnimg.cn/img_convert/c283c4a91911f20b07a6f20218f4754a.png)
7 AOP
面向切面编程(Aspect-Oriented Programming简称AOP),它可以做到添加额外的行为到现有的指定条件的一批Bean上,但是我们并不需要修改Bean的代码,这样使得额外行为和Bean本身行为关注隔离。
学习AOP,我们首先要熟悉下面的概念:
- 切面:Aspect,编写额外行为的地方;
- 连接点:Join Point,被拦截的方法;
- 切点:PointCut,通过条件匹配一批连接点;
- 建言:Advice,对于每个连接点需要做的行为;
- 目标对象:符合指定条件的Bean
我们使用AOP开发需要使用@EnableAspectJAutoProxy注解来开启AspectJ的支持,Spring Boot已经为我们自动做了配置,我们无需额外声明。
我们来编写一个使用AOP来记录操作日志的例子,我们先编写一个注解用来给切点作为拦截条件: