Spring-AOP-入门认识
AOP:面向切面编程
作用:在程序运行期间,不修改源码对已有方法进行增强。
优势:减少重复代码 提高开发效率 维护方便
实现方式:动态代理技术<动态代理(上篇文章)点击>
spring-AOP:细节
1.是通过配置的方式实现功能的
- 专业术语
Joinpoint(连接点): 所谓连接点是指那些被拦截到的点。在 spring 中,这些点指的是方法,因为 spring 只支持方法类型的 连接点(被代理对象的所有的方法)。
Pointcut(切入点): 所谓切入点是指我们要对哪些 Joinpoint 进行拦截的定义。 (被增强的方法 )
Advice(通知/增强): 所谓通知是指拦截到 Joinpoint 之后所要做的事情就是通知。 通知的类型:前置通知,后置通知,异常通知,最终通知,环绕通知。
Target(目标对象): 被代理对象
Weaving(织入): 是指把增强应用到目标对象来创建新的代理对象的过程。 spring 采用动态代理织入,而 AspectJ 采用编译期织入和类装载期织入。 (原来的对象无法支持事务代理后增强事务的代码
)
Proxy(代理): 一个类被 AOP 织入增强后,就产生一个结果代理类(增强后的对象)
Aspect(切面): 是切入点(被增强的方法)和通知(提供公共代码的类)(引介)的结合(被增强的方法调用公共类)。