Spring的Aop理解

Posted 带刺的小花277

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Spring的Aop理解相关的知识,希望对你有一定的参考价值。

主要作用:解决代码复用,避免重复性编写代码。

比较典型的场景:日志打印,权限验证,事务处理

 

参考网址为:http://moon-walker.iteye.com/blog/2381532

 

spring aop相关术语

切面:用于承载 通知+切点的类。把where,when and how(在哪执行,什么时候执行,执行什么)执行整合在一起

切点:提取出需要进行统一处理的方法,是连接点的子集。解决where的问题,主要通过切点表达式进行过滤,如典型的配置方式execution(* com.xxx.xxx.*(..))

通知:解决when(什么时候执行)的问题,根据自己的业务场景选择使用:

前置通知(before):在目标方法执行前,首先调用该方法

后置通知(after):在目标方法执行完成后,再调用该方法。不管是目标方法执行成功,还是抛出异常,都会调用。

返回通知(afterreturning):在目标方法执行成功后,再调用该方法。

异常通知(afterThrowing):在目标方法执行抛出异常后,调用该方法

环绕通知(around):对目标方法进行包裹,理论上可以在环绕通知里,实现上述4种通知。

引入

织入

 

 

实现方式:

1.基于注解的

2.基于xml配置的

3.注入AspectJ切面

以上是关于Spring的Aop理解的主要内容,如果未能解决你的问题,请参考以下文章

如何理解Spring的AOP?

Spring框架AOP的使用及个人对底层原理的理解

Spring AOP的理解和使用

Spring AOP理解

Spring(DI,AOP) 理解

Spring之AOP理解及使用