什么是AOP?
AOP为Aspect Oriented Programming的缩写,意为:面向切面编程
利用AOP可以对业务逻辑的各个部分进行隔离,从而使得业务逻辑各部分之间的耦合度降低,提高程序的可重用性,同时提高了开发的效率。
简单来说它就是把我们的程序重复的代码抽取出来,在需要执行的时候,使用动态代理的技术,在不修改源码的基础上,对我们已有的方法进行增强。
AOP的作用及优势
作用:
在不修改源码的基础上,对我们已有的方法进行增强。
优势:
- 减少重复代码
- 提高开发效率
- 维护方便
AOP的实现方式
使用动态代理技术
AOP相关术语
- 连接点(JointPoint):
所谓连接点是指那些被拦截到的点,在Spring中,这些点指的是方法,因为Spring只支持方法类型的连接点 - 切入点(PointCut):
所谓切入点指的是我们对哪些**连接点(方法)**进行拦截定义 - 通知/增强(Advice):
所谓通知是指拦截到连接点之后要做的事情就是通知
通知的类型:前置通知,后置通知,异常通知,最终通知,环绕通知 - 目表对象(Target):
代理的目标对象 - 代理(Proxy):
一个类被AOP增强后,就产生一个结果代理类 - 切面(Aspect):
是切入点和通知的结合,即抽象模块化为类