AOP框架之:Spring 2.x AOP和AspectJ
来源:互联网 发布:做淘宝直播怎么赚钱 编辑:程序博客网 时间:2024/05/17 22:51
AOP是Spring框架的重要组成部分。目前我所接触的AOP实现框架有Spring AOP,还有就是AspectJ(还有另外几种我没有接触过)。我们先来说说他们的区别:
AspectJ是一个比较牛逼的AOP框架,他可以对类的成员变量,方法进行拦截。由于 AspectJ 是 Java 语言语法和语义的扩展,所以它提供了自己的一套处理方面的关键字。除了包含字段和方法之外,AspectJ 的方面声明还包含切入点和通知成员。AspectJ是在编译期或者类加载期对目标对象进行增强的。
Spring AOP依赖的是 Spring 框架方便的、最小化的运行时配置,所以不需要独立的启动器。但是,使用这个技术,只能通知从 Spring 框架检索出的对象。Spring的AOP技术只能是对方法进行拦截。
在spring AOP中我们同样也可以使用类似AspectJ的注解来实现AOP功能,但是这里要注意一下,使用AspectJ的注解时,AOP的实现方式还是Spring AOP。Spring缺省使用J2SE动态代理来作为AOP的代理,这样任何接口都可以被代理,Spring也可以使用CGLIB代理,对于需要代理类而不是代理接口的时候CGLIB是很有必要的。如果一个业务对象没有实现接口,默认就会使用CGLIB代理。Spring Aop是在运行期对目标对象进行增强的。
Spring AOP和AscpectJ之间的关系:Spring使用了和aspectj一样的注解,并使用Aspectj来做切入点解析和匹配(AspectJ 5让第三方使用AspectJ的切入点解析和匹配引擎的工具API)。但是spring AOP运行时仍旧是纯的spring AOP,并不依赖于Aspectj的编译器或者织入器。
AspectJ是一个比较牛逼的AOP框架,他可以对类的成员变量,方法进行拦截。由于 AspectJ 是 Java 语言语法和语义的扩展,所以它提供了自己的一套处理方面的关键字。除了包含字段和方法之外,AspectJ 的方面声明还包含切入点和通知成员。AspectJ是在编译期或者类加载期对目标对象进行增强的。
Spring AOP依赖的是 Spring 框架方便的、最小化的运行时配置,所以不需要独立的启动器。但是,使用这个技术,只能通知从 Spring 框架检索出的对象。Spring的AOP技术只能是对方法进行拦截。
在spring AOP中我们同样也可以使用类似AspectJ的注解来实现AOP功能,但是这里要注意一下,使用AspectJ的注解时,AOP的实现方式还是Spring AOP。Spring缺省使用J2SE动态代理来作为AOP的代理,这样任何接口都可以被代理,Spring也可以使用CGLIB代理,对于需要代理类而不是代理接口的时候CGLIB是很有必要的。如果一个业务对象没有实现接口,默认就会使用CGLIB代理。Spring Aop是在运行期对目标对象进行增强的。
Spring AOP和AscpectJ之间的关系:Spring使用了和aspectj一样的注解,并使用Aspectj来做切入点解析和匹配(AspectJ 5让第三方使用AspectJ的切入点解析和匹配引擎的工具API)。但是spring AOP运行时仍旧是纯的spring AOP,并不依赖于Aspectj的编译器或者织入器。
0 0
- AOP框架之:Spring 2.x AOP和AspectJ
- AOP框架之:Spring AOP和AspectJ
- AOP框架之:Spring AOP和AspectJ
- AOP框架之:Spring AOP和AspectJ
- Spring AOP之AspectJ
- Spring AOP之AspectJ
- Spring AOP 和 AspectJ
- Spring AOP 和 AspectJ
- Spring框架使用内幕之AOP&AspectJ&Spring JdbcTemplate
- Spring Aop入门之Aspectj
- Spring aop之使用AspectJ
- Spring AOP之增强(aspectj)
- spring-AOP和AspectJ区别
- 比较 Spring AOP 和 AspectJ
- Java后台框架篇--Spring之AspectJ AOP
- 基于@AspectJ注解的纯POJO Spring 2.x Aop
- Spring-AOP切面+Aspectj框架的使用
- Spring框架(6)---AspectJ实现AOP
- 约瑟夫环
- Spring事务的传播行为和隔离级别
- 价值
- 选择web编程语言之--最流行的就是最好的?
- Android内存机制分析下篇:分析APP内存使用情况
- AOP框架之:Spring 2.x AOP和AspectJ
- SYS_LOB0000076574C00008$$
- atoi函数为什么用不了
- 二分查找递归与非递归算法
- 华为 eSpace IVS 智能视频监控平台
- MyBatis 学习-映射
- Part5 第一个MapGIS云GIS软件程序
- 【Unity Shaders】Reflecting Your World —— Unity3D中的遮罩反射(Masking Reflections)
- ios 摇一摇 仿微信