4-1. AOP概述

发布时间:2023年12月31日

1 AOP概述

1.1 AOP概述

1)AOP(Aspect-Oriented Programming,面向切面编程):是一种新的方法论,是对传 统 OOP(Object-Oriented Programming,面向对象编程)的补充。

  • 面向对象 纵向继承机制
  • 面向切面 横向抽取机制
  1. AOP编程操作的主要对象是切面(aspect),而切面用于模块化横切关注点(公共功能)。
  2. 在应用AOP编程时,仍然需要定义公共功能,但可以明确的定义这个功能应用在哪里,以什么方式应用,并且不必修改受影响的类。这样一来横切关注点就被模块化到特殊的类里——这样的类我们通常称之为“切面”。
  3. AOP的好处:
    ① 每个事物逻辑位于一个位置,代码不分散,便于维护和升级
    ② 业务模块更简洁,只包含核心业务代码
    ③ AOP图解
    在这里插入图片描述
    在这里插入图片描述
1.2 AOP术语
  1. PointCut (切入点)
  • 在哪个地方切入
  1. Joinpoint(连接点)
  • 切入点
  • 切入时机
  1. Advice(通知)
  • 切入后需要执行的代码
  1. 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
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。