1 連線點
連線點是程度控制流中的事件,比如方法的呼叫、需要修改的域、要計算的表示式、要執行的發放的第幾行等。
下面是aspectj將要顯示為連線點的事件:
2 切入點
切入點用於選擇連線點。它扮演過濾的角色,匹配符合其定義的連線點,阻塞所有其他的連線點。
例如,pointcut call(string tostring())將匹配對名為tostring、無引數且返回值為乙個字串的發放的呼叫。
aspectj支援三種不同種類的切入點:
切入點可以命名
也可以匿名
,命名切入點可以使**更高效更清晰。使用關鍵字pointcut可以宣告命名的切入點。pointcut宣告可以出現在類和aspect中,但是不能在介面中
。
pointcut宣告的一般形式如下:
[visibility-modifier] pointcut name(parameterlist) : pointcutexpr;
例項:pointcut leakedexception():dbexceptionhandler && !inpersistencelayer();
3 advice
切入點是匹配連線點的謂詞,而advice則是指定在這些連線點處做的動作。每個advice與乙個切入點(命名的或者匿名的)關聯,並指定在該切入點匹配的連線點之前、之後或周圍想要執行的操作。advice宣告可以包括引數,引數值可以在advice體中引用,其中引數值是由呼叫者顯示傳遞的,而advice體中的引數值是由切入點提供的。
基本的advice宣告的型別有before advice、after advice、around advice,如下所示:
before
(parameterlist) : pointcutexpr;
after
(parameterlist) :returning
: pointcutexpr;
after
(parameterlist :throwing
: pointcutexpr;
typearound
(parameterlist) : pointcutexpr;
匿名切入點示例:
after(account acc, money amount)returning :
execution(void account.*(money)) &&
args(amount) &&
this(acc)}等效
資料基本型別及對應基本型別類
基本資料型別 char 16位 byte 8位 short 16位 int 32位 long,float,double,boolean 基本資料型別對應類 character,byte,short,integer,long,float,double,boolean,string 幾乎所有型別類都有相...
討論的基本型別
整數型別,有更多的可表示的值意味著他們可以代表值的範圍更大 例如,乙個16位無符號整數可以在範圍0到65535代表65536個不同的值,而它的簽署副本將可以表示,在大多數情況下,32768和32767之間的值。注意積極的值的範圍是約一半有符號型別相比,無符號型別,由於這樣的事實,乙個16位用於標誌 ...
Python的基本型別
前邊我們講解了python的字串 整型 布林型 和 列表的一部分知識,今天帶大家學習一下剩下的列表 元組 和字典型別 1,列表 list a a b b c c for x in list print x for x,y in list print x,y enumerate 列舉 可以讓被遍歷的物...