Spring AOP 简述
来源:互联网 发布:js获取json长度 编辑:程序博客网 时间:2024/05/22 05:12
Spring AOP 主要用于实现业务和事务解耦。
例如用于实现性能监控,事务管理
实现原理:
Spring AOP 是使用动态代理在运行期间植入增强的功能代码。
JDK代理的局限:只能为接口创建代理实例。
CGLib采用字节码技术,可以为类创建一个子类,并在子类创建方法拦截父类所有的方法,并植入横切逻辑。
Spring AOP的底层是通过使用JDK动态代理或者CGLib动态代理为目标bean植入横切逻辑的。
AOP的一些基本术语
连接点:程序执行的某个特定位置:如类初始化的前后,函数调用的前后,方法抛出异常的前后。Spring仅支持方法调用的前后的连接点。
切点:定位连接点的条件(犹如SQL的查询条件)
- 增强:是植入到目录类连接点上的一段程序
- 目标对象(Target):增强逻辑需要植入的目录类
- 引介(Introduction):是一种特殊的增强,可以为类添加属性和方法。
- 植入(Weaving):是将增强添加到目录类中连接点的动作
- 代理(Proxy):帮助(代理)目标类完成增强功能的工具类
常用的增强有:
1. 前置增强:在目标类的方法执行之前嵌入增强逻辑,实现接口 MethodBeforeAdvice
2. 后置增强:在目标类的方法执行之后嵌入增强逻辑,实现接口 AfterReturningAdvice
3. 环绕增强: 在目标类的方法前后嵌入增强逻辑,实现接口 MethodInterceptor
4. 异常抛出增强:当抛出异常之前执行,常用于事务处理的回滚,实现接口ThrowsAdvice
5. 引入增强:
是一种比较特殊的增强类型,不是在目标方法周围植入增强,而是为目标类创建新的方法和属性,所以引入增强的连接点是类级别的,而非方法级别。
通过引入增强,我们可以为目标类添加一个接口的实现(即目标类可能为实现的接口),通过引入增强代理实现新的功能。继承 DelegatingIntroductionInterceptor
0 0
- Spring中的AOP简述
- Spring AOP 简述
- [JAVA] Spring AOP简述
- Spring AOP简述
- spring aop实现原理简述
- Spring简述以及AOP、IOC
- 简述什么是Spring的AOP
- 【Spring】——AOP简述
- [JAVA] Spring AOP API简述
- [JAVA] Spring AOP Annotation简述
- [JAVA] Spring AOP XML 简述
- Spring AOP/DI/IOC 简述及使用
- 实例简述Spring AOP之对AspectJ语法的支持
- spring aop 实现原理简述——背景知识
- 实例简述Spring AOP之对AspectJ语法的支持
- 实例简述Spring AOP之对AspectJ语法的支持
- Spring AOP 配置文字简述。(完善中)
- AOP IOC简述
- RAMNode相关配置方法
- 为什么一些机器学习模型需要对数据进行归一化?
- C#调用dll的简单demo(托管)
- 从面向过程看面向对象
- 云计算的三种服务模式:IaaS,PaaS和SaaS
- Spring AOP 简述
- Linux 网络配置文件Interfaces模板
- 前端基础摘要
- 用贪心算法解背包问题Java实现
- Android API配置查阅(本地+在线)
- jetbrains idea/webstorm等(注册,激活,破解,码,一起支持正版,最新可用)(2017.3.16更新)
- Sublime text 3 [Decode error
- android基础图像处理
- 我的Android NDK之旅(二),使用ndk-build构建Jni