1.什么是AOP?
AOP是Aspect Oriented Programming的缩写,意思是面向方面编程,AOP实际是GOF设计模式的延续。
GOF设计模式:
首先要了解什么是设计模式?设计模式是为解决某一类普遍存在的问题而提供的一个解决方案。
GOF设计模式有这三种类型,创建型模式(5),结构型模式(7),行为型模式(11)。具体了解可以参照
https://www.cnblogs.com/chenpi/p/5222597.html进行学习。
2.关于AOP的一些术语:
切面(Aspect):在Spring AOP中,切面可以使用通用类或者在普通类中以@Aspect注解(@AspectJ)风格来实现
连接点(Jionpoint):在Spring AOP中的一个连接点代表一个方法的执行。
通知(Advice):再切面的某个特定连接点(Jionpoint)上执行的动作。通知有各种类型,其中包括"around","before",
"after"等通知。许多AOP框架,包括Spring,都是以拦截器做通知模型,并维护一个以连接点为中心拦截器链。
切入点(Pointcut):定义出一个或一组方法,当执行这些方法时可产生通知,Spring缺省使用Aspect切入点语法。
3.通知类型
前置通知(@Before):在某连接点(jion point)之前执行的通知,但这个通知不能住址连接点前执行(除非它
抛出一个异常)
返回后通知(@AfterReturning):在某连接点(jion point)正常完成后执行的通知。如一个方法没有抛出异常,正常
返回。
抛出异常或通知(@AfterThrowing):方法抛出异常退出时执行的通知。
后置通知(@After):当某连接点退出的时候执行的通知(无论正常返回还是异常退出)
环绕通知(@Around):包围一个连接点(jion point)的通知,如方法调用。这是最强大的通知类型,环绕通知可在方法
调用前后完成自定义的行为,它也会选择是否继续执行连接点或直接返回它们自己的返回值或抛出异常来结束执行。
4.@Aspect风格的AOP配置
Spring AOP配置的两种风格:
XML:采用声明形式实现Spring AOP
AspectJ:采用注解形式实现Spring AOP
5.Spring AOP完成日志记录:
参照此网页:http://blog.csdn.net/paulangsky/article/details/53217611