[AspectJ] 明明白白AspectJ (2)
摘要: 在前面《[AspectJ] 明明白白AspectJ (1) 》中用例子說明了AspectJ的確是代碼生成器。
現(xiàn)在,同樣的方式,將官方提供的例子“Bean Example”(File -->New -->Project -->AspectJ -->AspectJ Examples --> Bean Example)簡單剖析一下。Bean Example主要是利用AOP來實現(xiàn)屬性改變通知,效果像觀察者模式來關注bean的屬性,但它是用java.beans.PropertyChangeSupport來實現(xiàn)的。如果你對java.beans.PropertyChangeSupport用法不了解,可以參考我以前的一篇隨筆《[java 拾遺篇] JavaBean實現(xiàn)約束屬性簡單例 》。
閱讀全文
posted @
2007-07-14 19:03 三告習習 閱讀(3442) |
評論 (2) 編輯
[AspectJ] 明明白白AspectJ (1)
摘要: http://www.ibm.com/developerworks/cn/java/l-aspectJ/index.html中介紹了What is AspectJ 。
AspectJ是一個代碼生成工具(Code Generator)。
AspectJ語法就是用來定義代碼生成規(guī)則的語法。您如果使用過Java Compiler Compiler (JavaCC),您會發(fā)現(xiàn),兩者的代碼生成規(guī)則的理念驚人相似。
AspectJ有自己的語法編譯工具,編譯的結果是Java Class文件,運行的時候,classpath需要包含AspectJ的一個jar文件(Runtime lib)。
....
看了上面幾點,我就想看看它怎么把代碼生成了。現(xiàn)在做一個試驗。
閱讀全文
posted @
2007-07-12 01:12 三告習習 閱讀(5194) |
評論 (6) 編輯