AOP 工作流程
- AOP 概念:AOP
一、工作流程
- Spring 容器启动
- 读取所有切面配置中的切入点
- 初始化 bean 判定 bean 对应类中的方法是否匹配到任意切入点
- 匹配失败,创建原始对象
- 匹配成功,创建原始对象(目标对象)的代理对象
- 获取 bean 执行方法
- 获取的bean不是代理对象,调用方法并执行,完成操作
- 获取的bean是代理对象,根据代理对象的运行模式运行原始方法与增强内容,完成操作
二、概念
目标对象(Target object:): 被一个或多个方面通知的对象。也被称为 “通知对象”。由于Spring AOP是通过使用运行时代理来实现的,所以这个对象总是一个被代理的对象。
- 原始功能去掉共性功能对应的类产生的对象,这种对象无法直接完成最终工作。
AOP代理(AOP proxy): 由AOP框架创建的一个对象,以实现切面能力(通知方法执行等)。在Spring框架中,AOP代理是一个JDK动态代理或CGLIB代理。
- 目标对象无法直接完成工作,需要对齐进行功能功能回填,通过原始对象的代理对象实现。
AOP 工作流程
https://blog.pangcy.cn/2023/04/09/后端编程相关/java/spring/AOP 工作流程/