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堆棧
? 元數據被加到類中
? 簡單的用法和配置