AOP面向切面编程
AOP的实现原理(aop的底层将采用代理机制进行实现)
- 接口 + 实现类:spring采用了jdk的动态代理proxy
- 实现类:spring采用了cglib字节码增强
AOP术语
- target:目标类,需要被代理的类
- joinPoint(连接点):所谓连接点是指那些有可能被拦截到的方法
- pointCut 切入点:已经被增强的连接点。例如:addUser()
- advice 通知/增强,增强代码,例如:after,before
- weaving(织入):是指把增强的advice应用到目标对象target来创建新的代理对象proxy的过程
- proxy代理类
- aspect(切面) :是切入点point和通知advice的结合,一个线就是一个特殊的面,一个切入点和一个通知,组成了一个特殊的面