Spring AOP 学习之Advisor
来源:互联网 发布:ubuntu提取dsdt办法 编辑:程序博客网 时间:2024/05/22 00:54
Spring 支持两种方法匹配器:方法匹配器的类型由 isRuntime()返回值决定
-- true ? 动态 : 静态;
- 静态方法匹配器
:仅对方法名签名(包括方法名和入参类型及顺序)进行匹配,仅判别一次
- 动态方法匹配器
:在运行期检查方法入参的值,每次调用方法必须判断
切点类型:
- 静态方法切点:org.springframework.aop.support.StaticMethodMatcherPointcut 是静态方法切点的抽象基类,默认匹配所有。
子类:
- NameMatchMethodPointcut:匹配简单字符串方法签名
- AbstractRegexpMethodPointcut:使用这则表达式匹配方法签名
- 动态方法切点:org.springframework.aop.support.DynamicMethodMatcherPointcut 是动态方法切点的抽象基类,默认匹配所有。
-注解切点:org.springframework.aop.support.annotation.AnnotationMatchingPointcut 实现类表示注解切点。使用AnnotationMatchingPointcut 支持在Bean中直接通过Java 5.0 注解标签定义的切点。
- 表达式切点:org.springframework.aop.support.ExpressionPointcut 支持AspectJ 切点表达式语法而定义的接口。
- 流程切点:org.springframework.aop.support.ControlFlowPointcut 表示控制流程切点,根据程序
执行堆栈的信息查看目标方法是否由某一个方法直接或间接发起调用,以此判断是否为匹配的连接点。
执行堆栈的信息查看目标方法是否由某一个方法直接或间接发起调用,以此判断是否为匹配的连接点。
- 复合切点:org.springframework.aop.support.ComposablePointcut 为创建多个切点而提供的方便操作类。
切面类型:
- Advisor:一般切面,仅包含一个Advice
- PointcutAdvisor:具有切点的切面,包含Advice 和Pointcut 两个类。
DefaultPointcutAdvisor: 最常用的切面类型
NameMatchMethodPointcutAdvisor: 定义按方法名定义切点的切面
RegexpMethodPointcutAdvisor: 按正则表达式匹配方法名进行切点定义的切面
StaticMethodMatcherPointcutAdvisor: 静态方法匹配器切点定义的切面,默认匹配所有
AspectJExpressionPointcutAdvisor: 用于AspectJ 切点表达式定义切点的切面
AspectJPointcutAdvisor: 用于AspectJ语法定义切点的切面
- IntroductionAdvisor:引介切面
增强:
前置增强:BeforeAdvice
后置增强:AfterReturningAdvice
环绕增强:MethodInterceptor (在目标方法执行前后实施增强)
异常抛出增强:ThrowsAdvice
引介增强:IntroductionInterceptor (在目标类中添加一些新的方法和属性)
阅读全文
0 0
- Spring AOP 学习之Advisor
- 学习AOP之透过Spring的Ioc理解Advisor
- 学习AOP之透过Spring的Ioc理解Advisor
- 学习AOP之透过Spring的Ioc理解Advisor
- Spring Aop源码学习--Advisor切面
- Spring之<aop:advisor>和<aop:aspect>的区别
- Spring学习笔记:使用Pointcut 和Advisor实现AOP
- spring aop 细说advice,advisor
- (14)Spring AOP Advisor
- spring Aop中aop:advisor 与 aop:aspect的区别 【爱玩酷java php 学习路径】
- spring的aop:advisor和aop:aspect
- Spring AOP——Pointcut,Advisor
- Spring AOP Example – Pointcut , Advisor
- Spring3- Spring AOP——Pointcut,Advisor
- Spring Aop中的advisor、advice、pointcut
- spring Aop中aop:advisor 与 aop:aspect的区别
- Spring学习之AOP
- Spring学习之AOP
- Fragment hide/show 切换 走的方法onHiddenChanged(boolean hidden)
- 115个Java面试题和答案——终极列表(上)
- Ubuntu下是使用source insight的中文乱码问题
- 正则表达式
- 线索二叉树的建立与遍历
- Spring AOP 学习之Advisor
- 3-Spark高级数据分析-第三章 音乐推荐和Audioscrobbler数据集
- SecureCRT:[1]SecureCRT配色方案
- Spring Cloud Eureka 入门 (一)服务注册中心详解
- 常见HTTP状态码
- oracle的游标用法,for循环游标和fetch into用法上有什么区别
- Drawable与 Bitmap 常用方法
- 如何编译Fribidi for i586/ARM?
- Http请求中Content-Type讲解以及在Spring MVC中的应用