Spring的AOP概述

tech2025-11-14  4

Spring的一个非常重要的功能便是AOP

AOP全称为Aspect Oriented Programming

即:面向切面编程

AOP的功能简单来说就是将程序中的重复代码抽取出来,在需要执行的时候通过动态代理的方式,在不修改代码的基础上,实现对功能增强,提高程序的可用性,同时也能大大提高开发效率

AOP的作用:在程序运行过程中,在不修改源码的基础上实现功能增强

使用AOP的好处:

减少重复代码

提高开发效率

后期便于维护

 

AOP的相关术语

Joinpoint( 连接点 ): 所谓连接点是指那些被拦截到的点。在 spring , 这些点指的是方法 , 因为 spring 只支持方法类型的 连接点。 简单来说,接口中定义的方法即连接点 Pointcut( 切入点 ): 所谓切入点是指我们要对哪些 Joinpoint 进行拦截的定义。 可以简单的理解为那些被动态代理增强的方法 Advice( 通知 / 增强 ): 所谓通知是指拦截到 Joinpoint 之后所要做的事情就是通知。 通知的类型:前置通知 , 后置通知 , 异常通知 , 最终通知 , 环绕通知。 这里用一张图能更直观的看到不同通知所代表的意义 Introduction( 引介 ): 引介是一种特殊的通知在不修改类代码的前提下 , Introduction 可以在运行期为类动态地添加一些方 法或 Field Target( 目标对象 ): 代理的目标对象。 Weaving( 织入 ): 是指把增强应用到目标对象来创建新的代理对象的过程。 spring 采用动态代理织入,而 AspectJ 采用编译期织入和类装载期织入。 Proxy (代理) : 一个类被 AOP 织入增强后,就产生一个结果代理类。 Aspect( 切面 ): 是切入点和通知(引介)的结合。

 

最新回复(0)