Spring的AOP相关知识
来源:互联网 发布:英国劳氏海事数据库 编辑:程序博客网 时间:2024/05/16 15:28
AOP编程的应用场景:
性能监控 访问控制 事务管理 日志记录
AOP 希望将这些分散在各个业务逻辑代码中的相同代码,通过横向切割的方式抽取到一个独立的模块中,还业务逻辑类一个清晰的世界。
连接点(Joinpoint):spring仅支持方法的连接点,仅能在方法调用前,方法调用后,方法抛出异常时以及方法调用前后这些程序执行点织入增强
切点(Pointcut):每个程序类都拥有多个连接点,AOP通过“切点”定位特定的连接点。
增强(Advice):增强是织入到目标类连接点上的一段程序代码。
目标对象(target):增强逻辑的织入目标
织入(Weaving):织入是将增强添加对目标类具体连接点上的过程
1、编译期织入 ,这要求使用特殊的Java编译器
2、类装载期织入,这要求使用特殊的类装载器
3、动态代理织入,在运行期为目标类添加增强生成子类的方式。
Spring采用动态代理织入, 而AspectJ采用编译期织入和类装载期织入。
代理(Proxy)
一个类被AOP织入增强后,就产出了一个结果类,它是融合了原类和增强逻辑的代理类。根据不同的代理方式,代理类既可能是和原类具有相同接口的类,也可能就是原类的子类,所以我们可以调用原类的方式调用代理类。
切面(Aspect)
切面是由切点和增强组成,它既包括了横切逻辑的定义,也包括连接点的定义,SpringAOP就是负责实施切面的框架,它将切面所定义的横切逻辑织入到切面多指定的连接点中。
AOP的工作重心在于如何将增强应用于目标对象的连接点上,这里首先包括两个工作:第一,如何通过切点和增强定位到连接点上;如何在增强中编写切面的代码。
Spring AOP 使用动态代理技术在运行期织入增强的代码。
两种代理机制 一种是基于JDK的动态代理(只支持接口代理),另一种是基于CGLib的动态代理
- Spring的AOP相关知识
- spring aop相关知识
- spring相关的知识
- Aop相关知识
- spring aop知识
- Spring知识小结--AOP
- Spring AOP拦截器的相关配置
- Spring AOP和事务的相关陷阱
- Spring AOP和事务的相关陷阱
- Spring中AOP操作的相关术语
- Spring AOP和事务的相关陷阱
- Spring AOP的实现之一AOP相关概念
- Spring AOP相关
- Spring AOP 相关
- spring-aop相关术语
- Spring Aop相关问题
- Spring aop 相关术语
- spring aop相关注解
- hdu-1686-Oulipo(简单滴KMP)
- 百度使用的网页变灰css
- HttpSessionBindingListener 和HttpSessionListener
- 微信企业号回调模式配置讲解 Java Servlet+Struts2版本 echostr校验失败解决
- java中TCP传输协议
- Spring的AOP相关知识
- HierarchyViewer源代码理解(三)
- Unity 场景异步加载
- 工厂方法模式
- 中国获得2022年冬奥会举办权【经济学人】
- java图片处理工具之-ImageMagick+jmagick(一)
- 赌神的战斗 coj
- 网络编程复习_ Exp2
- 黑马程序员——java复习总结——多线程