Joinpoint(连接点)
所谓连接点是指那些被拦截到的点.在spring中,这些点指的是方法,因为spring只支持方法类型的连接点.(被代理对象的方法),如图test方法就是连接点,没有进行任何增强被放行,执行方法
Pointcut(切入点)
所谓切入点是指我们要对那些连接点进行拦截的定义.(哪个被代理对象的方法被增强,那个代理对象的方法就属于切入点)
如图,红框的方法执行就是切入点,有增强代码
被增强的都是切入点,没被增强的都是连接点,切入点可以是连接点,连接点不一定是切入点
Advice(通知/增强)
所谓通知是指拦截到连接点之后所要做的事情就是通知(简单来说就是增强的内容)
通知的类型,环绕通知,前置通知,后置通知,异常通知(出现在catch内),最终通知(出现在finally内)
Tatget(目标对象)
被代理的对象
Weaving(织入)
是指把增强应用到目标对象来创建新的代理对象的过程.(简单来说代理对象中的增强内容被执行的时候)
spring采用动态代理织入,而AspectJ采用编译期织入和类装载期织入.
Proxy(代理)
一个类被AOP织入增强后,就产生一个结果代理类,如图proxyCs就是代理了.
Aspect(切面):
是切入点和通知(引介)的结合
XML配置aop
环绕通知