深入浅出 Spring AOP:面向切面编程详解
需积分: 1 8 浏览量
更新于2024-07-20
收藏 278KB DOCX 举报
Spring AOP 详解
**AOP 概述**
AOP(Aspect-Oriented Programming,面向切面编程)是一种新的方法论,是对传统 OOP(Object-Oriented Programming,面向对象编程)的补充。AOP 的主要编程对象是切面(aspect),而切面模块化横切关注点。在应用 AOP 编程时,仍然需要定义公共功能,但可以明确的定义这个功能在哪里,以什么方式应用,并且不必修改受影响的类。这样一来横切关注点就被模块化到特殊的对象(切面)里。
**AOP 的好处**
1. 每个事物逻辑位于一个位置,代码不分散,变得便于维护和升级。
2. 业务模块更简洁,只包含核心业务代码。
**AOP 术语**
1. 切面(Aspect):横切关注点(跨越应用程序多个模块的功能)被模块化的特殊对象。
2. 通知(Advice):切面必须要完成的工作。
3. 目标(Target):被通知的对象。
4. 代理(Proxy):向目标对象应用通知之后创建的对象。
5. 连接点(Joinpoint):程序执行的某个特定位置:如类某个方法调用前、调用后、方法抛出异常后等。连接点由两个信息确定:方法表示的程序执行点;相对点表示的方位。
6. 切点(Pointcut):每个类都拥有多个连接点:例如 ArithmethicCalculator 的所有方法实际上都是连接点,即连接点是程序类中客观存在的事务。AOP 通过切点定位到特定的连接点。
**AspectJ**
AspectJ 是 Java 社区里最完整最流行的 AOP 框架。
**Spring AOP**
Spring AOP(面向方面编程)框架,用于在模块化方面的横切关注点。简单地说,它只是一个拦截器拦截一些过程,例如,当一个方法执行,Spring AOP 可以劫持一个执行的方法,在方法执行之前或之后添加额外的功能。
**四种 AOP 通知**
在 Spring AOP 中,有 4 种类型通知(advices)的支持:
1. 前置通知(Before Advice):在目标方法执行之前执行的通知。
2. 后置通知(After Advice):在目标方法执行之后执行的通知。
3. 环绕通知(Around Advice):在目标方法执行之前和之后执行的通知。
4. 异常通知(Throws Advice):在目标方法抛出异常时执行的通知。
**Spring AOP 配置**
在 Spring 2.0 以上版本中,可以使用基于 AspectJ 注解或基于 XML 配置的 AOP。
2017-07-26 上传
2020-06-29 上传
2019-03-24 上传
2023-08-25 上传
2023-08-07 上传
2023-05-19 上传
2023-08-26 上传
2023-04-06 上传
2023-07-28 上传
q1054261752
- 粉丝: 148
- 资源: 94
最新资源
- 平尾装配工作平台运输支撑系统设计与应用
- MAX-MIN Ant System:用MATLAB解决旅行商问题
- Flutter状态管理新秀:sealed_flutter_bloc包整合seal_unions
- Pong²开源游戏:双人对战图形化的经典竞技体验
- jQuery spriteAnimator插件:创建精灵动画的利器
- 广播媒体对象传输方法与设备的技术分析
- MATLAB HDF5数据提取工具:深层结构化数据处理
- 适用于arm64的Valgrind交叉编译包发布
- 基于canvas和Java后端的小程序“飞翔的小鸟”完整示例
- 全面升级STM32F7 Discovery LCD BSP驱动程序
- React Router v4 入门教程与示例代码解析
- 下载OpenCV各版本安装包,全面覆盖2.4至4.5
- 手写笔画分割技术的新突破:智能分割方法与装置
- 基于Koplowitz & Bruckstein算法的MATLAB周长估计方法
- Modbus4j-3.0.3版本免费下载指南
- PoqetPresenter:Sharp Zaurus上的开源OpenOffice演示查看器