aop 底层采用代理机制实现
接口 + 实现类 :spring 采用 jdk 的 动态代理
只有实现类:spring 采用 cglib 字节码增强
aop专业术语
1.target(目标) 需要被代理的类
2.Joinpoint(连接点) 所谓连接点是指那些可能被拦截到的点(方法)
3.PointCut(切入点) 已经被增强的链接点
4.advice(通知/增强)增强的代码
5.Weaving (织入)是指把增强(advice)应用到目标对象(target)来创建的代理对象(proxy)的过程
6.proxy(代理)
7.aspect (切面) 是切入点(PointCut)和通知(advice)的结合