实例简述Spring AOP之对AspectJ语法的支持
来源:互联网 发布:redis与数据库 编辑:程序博客网 时间:2024/05/21 01:56
Spring的AOP可以通过对@AspectJ注解的支持和在XML中配置来实现,本文通过实例简述如何在Spring中使用AspectJ.
一:使用AspectJ注解:
1,启用对AspectJ的支持:
通过在Spring的配置中引入下列元素来启用Spring对AspectJ的支持:
<aop:aspectj-autoproxy />
或者(如果不是使用XSD的话)
<bean class="org.springframework.aop.aspectj.annotation.AnnotationAwareAspectJAutoProxyCreator" />
2,声明一个带有@Aspect注解的类,在这个类中声明那些方法需要被'关注'(利用@Pointcut),在那些时机点进行关注(利用@Before,@AfterReturning等等...),执行'切入'的方法
3,在Spring的配置文件中定义这个'切面'类:任意带有一个@Aspect切面(拥有@Aspect注解)的bean都将被Spring自动识别并用于配置在Spring AOP.
4,使用被Spring管理的bean,在执行被'关注'的方法时,'切入'的方法就会被执行.
一个完整的例子:
需要被'切入'的类:'切面'类:配置文件:使用bean:运行结果:二:通过XML配置AspectJ实现AOP:在java类中定义要被'方面'调用的切入方法,在XML中配置.
例子:被'切入'的类,普通java类:定义要被'方面'调用的切入方法的类:XML配置:客户端测试代码:运行结果:Spring AOP 只支持对bean的方法级的'切入',而且AOP的内部机制和AspectJ有所区别,Spring主要是通过动态代理来实现AOP,使用JDK的动态代理(如果被代理的bean是interface的话)或者CGLIB(如果如果被代理的bean不是interface的话).
一:使用AspectJ注解:
1,启用对AspectJ的支持:
通过在Spring的配置中引入下列元素来启用Spring对AspectJ的支持:
<aop:aspectj-autoproxy />
或者(如果不是使用XSD的话)
<bean class="org.springframework.aop.aspectj.annotation.AnnotationAwareAspectJAutoProxyCreator" />
2,声明一个带有@Aspect注解的类,在这个类中声明那些方法需要被'关注'(利用@Pointcut),在那些时机点进行关注(利用@Before,@AfterReturning等等...),执行'切入'的方法
3,在Spring的配置文件中定义这个'切面'类:任意带有一个@Aspect切面(拥有@Aspect注解)的bean都将被Spring自动识别并用于配置在Spring AOP.
4,使用被Spring管理的bean,在执行被'关注'的方法时,'切入'的方法就会被执行.
一个完整的例子:
需要被'切入'的类:'切面'类:配置文件:使用bean:运行结果:二:通过XML配置AspectJ实现AOP:在java类中定义要被'方面'调用的切入方法,在XML中配置.
例子:被'切入'的类,普通java类:定义要被'方面'调用的切入方法的类:XML配置:客户端测试代码:运行结果:Spring AOP 只支持对bean的方法级的'切入',而且AOP的内部机制和AspectJ有所区别,Spring主要是通过动态代理来实现AOP,使用JDK的动态代理(如果被代理的bean是interface的话)或者CGLIB(如果如果被代理的bean不是interface的话).
0 0
- 实例简述Spring AOP之对AspectJ语法的支持
- 实例简述Spring AOP之对AspectJ语法的支持
- 实例简述Spring AOP之对AspectJ语法的支持
- Spring AOP支持的AspectJ语法详解
- Spring AOP支持的AspectJ语法
- Spring 之AOP AspectJ切入点语法详解
- Spring 之AOP AspectJ切入点语法详解
- Spring 之AOP AspectJ切入点语法详解
- Spring 之AOP AspectJ切入点语法详解
- Spring 之AOP AspectJ切入点语法详解
- Spring 之AOP AspectJ切入点语法详解
- Spring 之AOP AspectJ切入点语法详解
- Spring 之AOP AspectJ切入点语法详解
- Spring对AspectJ的支持
- 整理的Spring AOP AspectJ切入点语法
- Spring Aop实例之AspectJ注解配置
- Spring Aop实例之AspectJ注解配置
- java spring aop 支持的AspectJ 切面
- 初识、理解生成器模式
- ubuntu下安装qt
- 浮点数在内存中存储
- C#学习笔记--引用类型分类,对象类型、字符串类型、数字类型,类型转换
- yum 常用命令介绍
- 实例简述Spring AOP之对AspectJ语法的支持
- 实例简述Spring AOP之对AspectJ语法的支持
- linux第二天
- 【矩阵快速幂】[NOI2011]兔农
- TensorFlow博客翻译——TensorFlow v0.9发布,带有增强版的移动支持
- [Android] Android开发优化之——对Bitmap的内存优化
- uC/OS-II的任务管理和调度
- EasyARM-iMX283A 安装交叉编译工具链
- SSH学习之Struts2(一)