java aop框架_介绍几个JAVA的AOP框架开源项目

展开全部

基于e68a84e8a2ad3231313335323631343130323136353331333365656566Java的简单、动态、轻量级、强大的AOP框架。既强大又简单,有助于更容易的集成AOP到新的或已存在的项目中。

AspectWerkz 主要特性:

1. 运行时和加载时字节码修正:你可以在运行时或编译时轻松的改造任何(旧)应用程序或除了rt.jar以外的外部类库

2. 支持join point模型

3. 支持Annotation:匹配JavaDoc和JSR-175,支持用户自定义Annotation

4. 支持部署多个Aspect定义文件到部署的应用程序(WEB-INF/aop.xml、META-INF/aop.xml)

5. Introduction/内类型声明(也称Mixin),也就是具有添加接口和实现到已存在的类中的能力

6. Annotation定义:定义Aspect使用的运行时Annotation(为JSR-175准备)

7. XML定义:定义Aspect使用的XML;XML可以用来精炼、改写和解析Annotation定义

8. 插件式Aspect管理器能够和IoC框架(如Spring或PicoContainer)一起工作

9. 四种不同的Advice和Introduction部署模型(范围):perJVM(单模式)、 perClass、perInstance 和perThread

10. Advice和Introduction能够动态部署、反部署或重新部署

11. 高性能,使用JIT编译

12. 使用Fine-grained模式语言选择join point

13. 所有Advice能够和所有的join point和各种混合类型的pointcut

14. 脱机变换(可以用作后处理器)

15. Aspect、Advice和Introduction使用POJO编码

16. 目标类可以是正规的POJO,也就是不需要接口

17. 支持通过定义传递参数给Advice和定义可重用的Advice堆栈

18. 元数据被加到类中

19. 简单的用法和配置

AspectWerkz在Eclipse下的辅助开发插件→

更多AspectWerkz信息

JBoss AOP

JBoss 4.0带了一个AOP框架。这个框架和JBoss应用服务器紧密地结合,但是你也能够在你的应用中,单独的运行它。

更多JBoss AOP信息

Nanning

一个虽然简单但也是一个java开源的AOP框架。名字以中文的拼音拼写就是广西的南宁。

更多Nanning信息

JAC

JAC (Java Aspect Components)是一个应用服务器。它为Java2平台、用于Java开发的企业开发环境(J2EE)、和基于Web的分布式应用,提供开放式资源的又一个选择(在GNU次常规公共许可证下发布)。JAC包括统一模型语言(UML)IDE,该UML IDE模块化应用商业逻辑并且自动生成和编译纯商业逻辑Java类。这些类,在JAC容器内执行,可从一组技术和/或商业的横切关系(crosscutting concerns)[1] 如数据持久性、认证、配置文件管理、访问权限检测、演示、和负载平衡中无缝地受益。基于面向方面编程技术(AOP)的JAC将这些关系( concerns)[2]从应用程序的核心商业逻辑中分离出来。

更多JAC信息

DynamicAspects

DynamicAspects能够让你使用java编写的面向切面的程序设计,它使用在Sun JDK 1.5中介绍的"instrumentation"与"agent",Aspects能够软件各模块之间的关系在运行期安装与使用。

更多DynamicAspects信息

dynaop

dynaop框架使用一个基于运行时的编程机制将AOP代码插入对象中,而不是返回一个具有特征代码的对象。AOP将是面向对象设计(OO)的一个新的领域。

更多dynaop信息

CAESAR

CAESAR是一个新的与Java兼容的AOP语言。所有java程序多能使用CAESAR。

更多CAESAR信息

PROSE

PROSE是一个动态编排(weaving)工具(允许在运行期插入或抽取aspects)。PROSE aspects是规则的Java对象能够被发送到或从网络上的计算机接收。签名可被用于保证它们的完整性。一旦一个aspect插入到JVM中,任何事件的发生将影响在相应aspect advice执行的结果。假如一个aspect从JVM中撤消,aspect代码将被丢弃并且相应的拦截也将不会再发生。PROSE aspects是规则的Java对象能够被发送到或从网络上的计算机接收。签名可被用于保证它们的完整性。一旦一个aspect插入到JVM中,任何事件的发生将影响在相应aspect advice执行的结果。假如一个aspect从JVM中撤消,aspect代码将被丢弃并且相应的拦截也将不会再发生。下图是PROSE的体系结构图:

2fca4f29733820ca5ae86eb2dde656ce.gif

更多PROSE信息

FastAOP

FastAOP是一个高性能AOP框架。最初开发该框架是为了支持对大型J2EE应用程序进行性能剖析和监测。它几乎不占用运行时间。FastAOP已经在Websphere和Jboss应用服务器上得到成功测试。

更多FastAOP信息

Plastic

Plastic是一个构建在ASM 3.3之上的AOP工具包。支持类的基本加载和实例化。引进新的属性。不需要使用反射就能够访问私有属性和方法。重写属性访问权限。注入属性。Method advice(在调用现在方法之后/之前执行一些逻辑)。

收录时间:2011-05-25 15:25:03

更多Plastic信息

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值