l 基于Java的简单、动态、轻量级、强大的AOP框架
l 既强大又简单,有助于更容易的集成AOP到新的或已存在的项目中
l AspectWerkz 主要特性:
Ø 运行时和加载时字节码修正:你可以在运行时或编译时轻松的改造任何(旧)应用程序或除了rt.jar以外的外部类库
Ø 支持join point模型
Ø 支持Annotation:匹配JavaDoc和JSR-175,支持用户自定义Annotation
Ø 支持部署多个Aspect定义文件到部署的应用程序(WEB-INF/aop.xml、META-INF/aop.xml)
Ø Introduction/内类型声明(也称Mixin),也就是具有添加接口和实现到已存在的类中的能力
Ø Annotation定义:定义Aspect使用的运行时Annotation(为JSR-175准备)
Ø XML定义:定义Aspect使用的XML;XML可以用来精炼、改写和解析Annotation定义
Ø 插件式Aspect管理器能够和IoC框架(如Spring或PicoContainer)一起工作
Ø 四种不同的Advice和Introduction部署模型(范围):perJVM(单模式)、 perClass、perInstance 和perThread
Ø Advice和Introduction能够动态部署、反部署或重新部署
Ø 高性能,使用JIT编译
Ø 使用Fine-grained模式语言选择join point
Ø 所有Advice能够和所有的join point和各种混合类型的pointcut
Ø 脱机变换(可以用作后处理器)
Ø Aspect、Advice和Introduction使用POJO编码
Ø 目标类可以是正规的POJO,也就是不需要接口
Ø 支持通过定义传递参数给Advice和定义可重用的Advice堆栈
Ø 元数据被加到类中
Ø 简单的用法和配置