Spring系列之:AOP

Posted inspred

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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()    拦截对目标方法调用,即调用目标方法的整个过程

 

以上是关于Spring系列之:AOP的主要内容,如果未能解决你的问题,请参考以下文章

SpringSpring系列4之Spring支持JDBC

Spring Cloud系列之链路追踪

SpringSpring系列6之Spring整合Hibernate

Springday03 AOPSpring声明式事务Spring编程式事务

SpringSpring系列3之Spring AOP

Spring系列之IOC容器