目录
- AOP理解
- 术语
- 代理模式
- 概念
- 静态代理
- 动态代理
- AOP原理
AOP理解
- 面向切面编程,是OOP面向对象编程的补充。将程序中交叉的业务逻辑代码提取出来,封装成切面,由AOP容器在适当的时机将封装的切面动态的织入到具体业务逻辑中。
术语
- 连接点 joinpoint
程序执行中某一特定位置,eg 方法调用前或后,方法抛出异常
- 切入点 pointcut
定位查找到需要的连接点,一个切点可以包含多个切入点
- 增强 Advice 也成为通知
在切点上执行的一段代码,用来实现某些功能
- 目标对象 target
将执行增强处理的目标类
- 织入 weaving
将增强添加到目标类中具体切入点的过程
- 代理
一个类被织入增强后,会产生一个代理类,这个类包含原类以及增强
- 切面
切点和增强的组合
- 引介/引入 introduction
代理模式
概念
- 为其他对象提供一种代理,以控制对这个对象的访问,起到中介的作用
通过代理对象访问目标对象,可以增强额外的操作,扩展目标对象的功能
静态代理
- 手动创建
代理对象需要与目标类实现相同接口,维护麻烦
动态代理
- 由JVM根据反射动态生成,程序运行前不存在代理类的字节码文件
JDK
目标对象必须实现一个或多个接口
CGLIB
AOP原理
原文地址:https://www.cnblogs.com/VVII/p/12332495.html
时间: 2024-10-25 17:24:04