4-1. AOP概述
2023-12-31 10:29:35
1 AOP概述
1.1 AOP概述
1)AOP(Aspect-Oriented Programming,面向切面编程):是一种新的方法论,是对传 统 OOP(Object-Oriented Programming,面向对象编程)的补充。
- 面向对象 纵向继承机制
- 面向切面 横向抽取机制
- AOP编程操作的主要对象是切面(aspect),而切面用于模块化横切关注点(公共功能)。
- 在应用AOP编程时,仍然需要定义公共功能,但可以明确的定义这个功能应用在哪里,以什么方式应用,并且不必修改受影响的类。这样一来横切关注点就被模块化到特殊的类里——这样的类我们通常称之为“切面”。
- AOP的好处:
① 每个事物逻辑位于一个位置,代码不分散,便于维护和升级
② 业务模块更简洁,只包含核心业务代码
③ AOP图解
1.2 AOP术语
- PointCut (切入点)
- 在哪个地方切入
- Joinpoint(连接点)
- 切入点
- 切入时机
- Advice(通知)
- 切入后需要执行的代码
- Aspect(切面)
- 使用了@Aspect注解的类就是切面。
1.2.1 切面(Aspect)
切面是一个横切关注点的模块化,一个切面能够包含同一个类型的不同增强方法,比如说事务处理和日志处理可以理解为两个切面。切面由切入点(PointCut)和通知(Adivce)组成,它既包含了横切逻辑的定义,也包括了切入点的定义。 Spring AOP就是负责实施切面的框架,它将切面所定义的横切逻辑织入到切面所指定的连接点中。
@Component
@Aspect
public class LogAspect {
}
可以简单地认为, 使用 @Aspect 注解的类就是切面
1.2.2 通知(Advic
文章来源:https://blog.csdn.net/muLanlh/article/details/135267949
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!