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 通过在运行时动态地将切面逻辑插入到目标代码中来实现。