AOP的概述
什么是AOP的技术?
Aspect Oriented Programming 的缩写 意为:面向切面编程。
AOP是一种编程范式,属于软件工程范畴。指导开发者如何组织程序结构。
利用AOP
- 可以对业务逻辑进行隔离
- 降低耦合度
- 提高程序的可重用性。
- 提高开发效率
AOP的优势
- 减少重复代码
- 提供开发的效率
- 维护方便
AOP的底层原理
AOP底层既是代理技术
- JDK动态代理 编写的程序必须要有接口
- cglib代理技术 生成类的子类
AOP专业术语
- Joinpoint(连接点) 所谓连接点是指那些被拦截到的点,在spring中指的是方法。因为spring只支持方法类型的连接点
- Pointcut(切入点) 所谓切入点是指我们要对那些Joinpoint(连接点)进行拦截的定义
Advice(通知/增强) 通知是指拦截到Joinpoint(连接点)之后所要做的事情就是通知。通知分为:
- 前置通知
- 后置通知
- 异常通知
- 最终通知
- 环绕通知(切面要完成的功能)
- Target(目标对象) 代理的目标对象
- Weaving(织入) 是指把增