Spring系列之:AOP

一,相关名词

切面(Aspect):一个横切功能的模块化,这个功能可能会横切多个对象(业务),比如:aMethod()方法就是一个"切面",它横切到多个业务中

切入点(Pointcut):可以插入 "横切逻辑(如aMethod())"的方法。比如:"调用add()"就是一个切点。

通知:

前置通知(Before Advice):在切入点add()方法执行之前,插入的通知。

后置通知(After Returning Advice):在切入点add()方法执行完毕之后,插入的通知

异常通知(After Throwing Advice):在切入点add()方法抛出异常时,插入的通知

最终通知(After FinallyAdvice):当切入点add()方法执行完毕时,插入的通知(不论是正常返回还是异常退出)

环绕通知(Around Advice):可以贯穿切入点add()方法执行的整个过程。

二,通知

1,我们想把一个普通的类变成一个特定功能的类。有三种方法:

继承类

实现接口

加注解

配置

2,把一个普通的类 变成 "通知",

2.1,通过让类实现接口来实现

通知类型          需要实现的接口         接口中的方法       执行时机

前置通知  org.springframework.aop.MethodBeforeAdvice    before()       目标方法执行前      

后置通知  org.springframework.aop.AfterReturningAdvice   afterReturning()    目标方法执行后

异常通知  org.springframework.aop.ThrowsAdvice        无          目标方法发生异常时

环绕通知  org.aopalliance.intercept.MethodInterceptor     invoke()    拦截对目标方法调用,即调用目标方法的整个过程

猜你喜欢

转载自www.cnblogs.com/inspred/p/10827967.html