AOP

定义

AOP是一种思想,是软件设计领域中的面向切面编程
理解为一个动态过程(在对象运行时动态织入一些扩展功能或控制对象执行
AOP

AOP的应用场景

非核心业务一班是通过特定方式切入到系统中,这种特定方式一班就是借助AOP进行实现
AOP就是要基于OCP(开闭原则),在不改变原有系统核心业务代码的基础代码的基础上动态添加一些
扩展功能并可以控制对象的执行
例如:日志处理、事务处理、权限处理、缓存处理等等
AOP

AOP相关术语

切面(aspect)

横切面对象,一般为一个具体类对象(可以借助@Aspect声明)

通知(advice)

在切面的某个特定连接点上执行的动作(扩展功能)
例如:around、before、after等

切入点(pointcut)

对连接点拦截内容的一种定义,一般可以理解为多个连接点的结合

连接点(joinpoint)

程序执行过程中某个特定的点,一般指被拦截到的方法

切入点与连接点定义图

AOP