Spring 整合 aspectj 框架实现的 aop
2018-02-22 23:01
281 查看
在现在的开发中使用这种方案比较多
在 spring2.0 以后它支持 jdk1.5 注解,而整合 aspectj 后可以使用 aspectj 语法,可以简化开发。
Aspect:切面 =切点+通知(多个切点与多个通知的组合)
AspectJ 它是一个第三方框架,spring 从 2.0 后可以使用 aspectJ 框架的部分语法.
AspectJ 框架它定义的通知类型有 6 种
1. 前置通知 Before 相当于 BeforeAdvice
2. 后置通知 AfterReturning 相当于 AfterReturningAdvice
3. 环绕通知 Around 相当于 MethodInterceptor
4. 抛出通知 AfterThrowing 相当于 ThrowAdvice
5. 引介通知 DeclareParents 相当于 IntroductionInterceptor
6. 最终通知 After 不管是否异常,该通知都会执行
相比 spring 的传统 AOP Advice 多了一个最终通知
第二步: 创建通知( 增强 advice)
注意:在 aspectj 中它的增强可以不实现任何接口,只需要定义出增强功能(也就是方法)。
第三步:在 在 spring 的 的 xml 配置文件中来配置
<aop:config>下的<aop:aspect>是 aspectJ 框架用来声明切面的标签。
前置通知
后置通知
环绕通知
异常抛出通知
注意:目标行为只有抛出了异常后才会执行这个增强方法。
最终通知
无论是否有异常,最终通知都会执行。
在 spring2.0 以后它支持 jdk1.5 注解,而整合 aspectj 后可以使用 aspectj 语法,可以简化开发。
Aspect:切面 =切点+通知(多个切点与多个通知的组合)
AspectJ 它是一个第三方框架,spring 从 2.0 后可以使用 aspectJ 框架的部分语法.
AspectJ 框架它定义的通知类型有 6 种
1. 前置通知 Before 相当于 BeforeAdvice
2. 后置通知 AfterReturning 相当于 AfterReturningAdvice
3. 环绕通知 Around 相当于 MethodInterceptor
4. 抛出通知 AfterThrowing 相当于 ThrowAdvice
5. 引介通知 DeclareParents 相当于 IntroductionInterceptor
6. 最终通知 After 不管是否异常,该通知都会执行
相比 spring 的传统 AOP Advice 多了一个最终通知
基于XML配置方案
第一步: 创建目标(target)第二步: 创建通知( 增强 advice)
注意:在 aspectj 中它的增强可以不实现任何接口,只需要定义出增强功能(也就是方法)。
第三步:在 在 spring 的 的 xml 配置文件中来配置
<aop:config>下的<aop:aspect>是 aspectJ 框架用来声明切面的标签。
前置通知
后置通知
环绕通知
异常抛出通知
注意:目标行为只有抛出了异常后才会执行这个增强方法。
最终通知
无论是否有异常,最终通知都会执行。
相关文章推荐
- Spring整合aspectj框架实现的aop
- Spring整合aspectj框架实现的aop
- spring整合aspectj实现aop的一个简单案例(xml)
- spring整合aspectj实现aop的;一个简单案例(annotation)
- 10、SSM框架-Spring AOP之基于注解的声明式AspectJ(10)
- 8 -- 深入使用Spring -- 4...2 使用AspectJ实现AOP
- 黑马程序员——用动态生成类实现类似于spring的可配置的AOP框架
- Java-----------类似spring的AOP框架的实现
- 黑马程序员 实现类似spring的可配置的AOP框架
- 学习笔记--代理与AOP及实现类似SPRING的可配置的AOP框架
- SSM框架下利用mybatis-spring.jar整合包,以及利用注解@transactional实现事务管理
- Spring通过@AspectJ方式实现AOP
- spring整合shiro框架的实现步骤记录
- spring学习之使用AspectJ实现AOP
- Spring AOP 代理实现的两种方式: JDK动态代理 和 Cglib框架动态代理
- Spring_Spring与AOP_AspectJ基于XML的实现
- Spring @AspectJ 实现AOP 入门例子(转)
- 【框架】[Spring]纯Java方式实现AOP拦截-详解ThrowsAdvice异常通知
- 【框架】[Spring]AOP拦截-使用切点:AspectJExpressionPointcut-切点语言