① 介紹幾個java的AOP框架開源項目
基於Java的簡單、動態、輕量級、強大的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. Introction/內類型聲明(也稱Mixin),也就是具有添加介面和實現到已存在的類中的能力
6. Annotation定義:定義Aspect使用的運行時Annotation(為JSR-175准備)
7. XML定義:定義Aspect使用的XML;XML可以用來精煉、改寫和解析Annotation定義
8. 插件式Aspect管理器能夠和IoC框架(如Spring或PicoContainer)一起工作
9. 四種不同的Advice和Introction部署模型(范圍):perJVM(單模式)、 perClass、perInstance 和perThread
10. Advice和Introction能夠動態部署、反部署或重新部署
11. 高性能,使用JIT編譯
12. 使用Fine-grained模式語言選擇join point
13. 所有Advice能夠和所有的join point和各種混合類型的pointcut
14. 離線變換(可以用作後處理器)
15. Aspect、Advice和Introction使用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的體系結構圖:
更多PROSE信息
FastAOP
FastAOP是一個高性能AOP框架。最初開發該框架是為了支持對大型J2EE應用程序進行性能剖析和監測。它幾乎不佔用運行時間。FastAOP已經在Websphere和Jboss應用伺服器上得到成功測試。
更多FastAOP信息
Plastic
Plastic是一個構建在ASM 3.3之上的AOP工具包。支持類的基本載入和實例化。引進新的屬性。不需要使用反射就能夠訪問私有屬性和方法。重寫屬性訪問許可權。注入屬性。Method advice(在調用現在方法之後/之前執行一些邏輯)。<DIV class=date>收錄時間:2011-05-25 15:25:03</DIV>
更多Plastic信息