[投稿123] aspectj 版

看板java作者 (有些事,有時候。。。)時間12年前 (2013/09/27 13:05), 編輯推噓2(204)
留言6則, 4人參與, 最新討論串1/1
1. 同樣使用版上的 source code public class Output123 { public static void main(String[] args) { char[] ch = new char[]{1,2,3}; System.out.println(String.valueOf(ch)); } } 2. 使用 around advice 但不執行 proceed() qty:project123_aop qrtt1$ cat Output123Aspect.aj public aspect Output123Aspect { pointcut select_main() : execution( * Output123.main(..)); void around(): select_main(){ System.out.println("123"); } } 3. 編譯它(使用 ajc) qty:project123_aop qrtt1$ ajc Output123.java Output123Aspect.aj qty:project123_aop qrtt1$ ls -alh total 32 drwxr-xr-x 6 qrtt1 staff 204B 9 27 21:02 . drwx------+ 22 qrtt1 staff 748B 9 27 21:00 .. -rw-r--r-- 1 qrtt1 staff 1.5K 9 27 21:02 Output123.class -rw-r--r-- 1 qrtt1 staff 164B 9 27 20:50 Output123.java -rw-r--r-- 1 qrtt1 staff 176B 9 27 21:00 Output123Aspect.aj -rw-r--r-- 1 qrtt1 staff 2.9K 9 27 21:02 Output123Aspect.class 4. 用 jvm 執行它 qty:project123_aop qrtt1$ java Output123 123 PS. 要有 aspectjrt.jar 在 classpath example: CLASSPATH=:/Users/qrtt1/app/aspectj1.7/lib/aspectjrt.jar -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 36.231.155.177 ※ 編輯: qrtt1 來自: 36.231.155.177 (09/27 21:08)

09/27 21:21, , 1F
賀!出現第五個了,要去 BM_NeedMoney 申請錢了 \囧/
09/27 21:21, 1F

09/28 03:41, , 2F
建議這篇改採load-time weaving的作法
09/28 03:41, 2F

09/28 03:43, , 3F
否則有違反規則 0.2 項原則之嫌
09/28 03:43, 3F

09/28 09:23, , 4F
嗯。有違就取消即可。俺也不是真的想參加啊。只是消磨時間
09/28 09:23, 4F

09/28 10:31, , 5F
感謝各位高手的參與,讓晚輩開了眼界。
09/28 10:31, 5F

09/28 16:10, , 6F
抱歉我看走眼了,直接用 ajc 編譯應該沒疑問。
09/28 16:10, 6F
文章代碼(AID): #1IHOAHAT (java)