Spring AOP核心概念
面向切面编程(Aspect-Oriented Programming,AOP)是一种编程范式,旨在通过分离横切关注点来提高模块化程度。以下是Spring AOP中的一些关键术语:
Spring AOP核心术语术语 | 解释 |
Target Object | 目标对象 | 被增强的对象,即包含业务逻辑的方法所在的类。 |
Proxy | 代理对象 | 由AOP框架动态创建的对象,用于实现对目标对象的增强处理。 |
Joinpoint | 连接点 | 程序执行过程中的一个特定点,如方法调用或异常抛出。在Spring AOP中,仅支持方法级别的连接点。 |
Pointcut | 切入点 | 定义了哪些连接点将被增强,即确定了哪些方法需要进行额外的操作。 |
Weaving | 织入 | 将切面代码插入到目标对象的过程,从而实现对目标对象的功能增强。 |
Advice | 通知 | 在特定的连接点上执行的动作,是切面的具体实现部分。 |
Aspect | 切面 | 封装了通知和切入点的组件,代表了跨越多个对象的横切关注点。 |
Spring AOP的通知类型
Spring AOP支持五种主要的通知类型,每种类型都有其独特的使用场景和功能。这些通知类型可以帮助开发者在不同的执行阶段对方法进行增强。
Spring AOP的通知类型通知类型 | 描述 |
---|
Before Advice | 在目标方法调用前执行的增强逻辑。 |
After Returning Advice | 在目标方法成功返回后执行的增强逻辑。 |
After Throwing Advice | 当目标方法抛出异常时执行的增强逻辑。 |
Around Advice | 在目标方法调用前后都可执行的增强逻辑,提供了最灵活的增强方式。 |
After (Finally) Advice | 无论目标方法是否抛出异常,均在方法执行完毕后执行的增强逻辑。 |