AOP的理解

72 阅读1分钟

image.png

AOP 面向切面编程

OOP 面向对象编程

OOD 面向对象设计

AOP底层实现通过动态代理

1. jdk 必须实现接口
2.cglib 不需要实现接口

jdk和cglib的区别?

jdk 目标类和代理类是兄弟类
cglib 目标类和代理类是父子关系

AOP相关概念:

 1. target 源对象
 2. proxy 代理对象
 3. jionpoint 连接点 可能被增强的方法
 4. poincut 切点 一定被增强的方法
 5. advice 通知/增强 具体方法要被增强的逻辑代码
 6. aspect 切面 pointcut + advice
 7. 织入 指从target到proxy的整个过程  

通知(基于aspect-j)

前置 before
后置 after-returning
***环绕 around 在定义方法时候传入一个参数 ProceedingJoinPoint
异常 after-throwing
最终 after