AOP

AOP:Aspect Oriented Programming
面向切面编程
它是横向的,对业务逻辑的各个部分进行隔离,使得它们的耦合度降低,提高程序的可重用性。

AOP三种实现方式:

  1. 采用底层的代理机制实现;
  2. 接口 + 实现类:Spring采用JDK的动态代理Proxy方式实现;
  3. 实现类:Spring采用cglib字节码增强方式实现。

AOP_第1张图片
1.target:目标类,需要被代理的类。例如:UserService
2.Joinpoint(连接点):所谓连接点是指那些可能被拦截到的方法。例如:所有的方法
3.PointCut 切入点:已经被增强的连接点。例如:addUser()
4.advice 通知/增强,增强代码。例如:after、before
5. Weaving(织入):是指把增强advice应用到目标对象target来创建新的代理对象proxy的过程.
6.proxy 代理类
7. Aspect(切面): 是切入点pointcut和通知advice的结合
一个线是一个特殊的面。
一个切入点和一个通知,组成成一个特殊的面。

上图和概念描述来自黑马教程

明天再写吧,明天还要加班……

你可能感兴趣的:(Spring,spring)