AOP概念(面向切面编程,Aspect-Oriented Programming)

定义

AOP 是一种编程范式,通过将跨越多个模块的关注点(如日志、事务处理、安全)分离出来,简化代码的维护和管理。

组成部分

1.切面(Aspect):定义横切关注点的模块。
2.连接点(Join Point):程序执行中的特定点,可以插入切面逻辑。
3.通知(Advice):在连接点处执行的具体逻辑,包括前置通知、后置通知、环绕通知等。
4.切入点(Pointcut):定义连接点的表达式,用于指定哪些连接点需要通知的逻辑。
5.目标对象(Target Object):被切面织入的对象。
6.织入(Weaving):将切面逻辑与目标对象的代码结合的过程。

结构形式

1.切面 → 通知 → 连接点 → 目标对象
2.切入点 → 连接点

分类

1.前置通知(Before Advice)

在目标方法执行前执行。

2.后置通知(After Advice)

在目标方法执行后执行。

3.环绕通知(Around Advice)

在目标方法执行前后都可以执行。

4.异常通知(After Throwing Advice)

在目标方法抛出异常时执行。

目的

提高代码的模块化:将横切关注点与核心业务逻辑分开。
增强代码的可维护性:便于修改和扩展跨模块功能。

基本原理

AOP 通过在运行时动态地将切面逻辑插入到目标代码中来实现。g)

定义

AOP 是一种编程范式,通过将跨越多个模块的关注点(如日志、事务处理、安全)分离出来,简化代码的维护和管理。

组成部分

1.切面(Aspect):定义横切关注点的模块。
2.连接点(Join Point):程序执行中的特定点,可以插入切面逻辑。
3.通知(Advice):在连接点处执行的具体逻辑,包括前置通知、后置通知、环绕通知等。
4.切入点(Pointcut):定义连接点的表达式,用于指定哪些连接点需要通知的逻辑。
5.目标对象(Target Object):被切面织入的对象。
6.织入(Weaving):将切面逻辑与目标对象的代码结合的过程。

结构形式

1.切面 → 通知 → 连接点 → 目标对象
2.切入点 → 连接点

分类

1.前置通知(Before Advice)

在目标方法执行前执行。

2.后置通知(After Advice)

在目标方法执行后执行。

3.环绕通知(Around Advice)

在目标方法执行前后都可以执行。

4.异常通知(After Throwing Advice)

在目标方法抛出异常时执行。

目的

提高代码的模块化:将横切关注点与核心业务逻辑分开。
增强代码的可维护性:便于修改和扩展跨模块功能。

基本原理

AOP 通过在运行时动态地将切面逻辑插入到目标代码中来实现。