posts - 431,  comments - 344,  trackbacks - 0
          分類pointcuts
              遵循特定的語法用于捕獲每一個種類的可使用連接點。
              主要的種類:
          • 方法執行:execution(MethodSignature)
          • 方法調用:call(MethodSignature)
          • 構造器執行:execution(ConstructorSignature)
          • 構造器調用:call(ConstructorSignature)
          • 類初始化:staticinitialization(TypeSignature)
          • 屬性讀操作:get(FieldSignature)
          • 屬性寫操作:set(FieldSignature)
          • 例外處理執行:handler(TypeSignature)
          • 對象初始化:initialization(ConstructorSignature)
          • 對象預先初始化:preinitialization(ConstructorSignature)
          • Advice執行:adviceexecution()
             基于控制流的pointcuts
             主要包括兩種類型的控制流:
             cflow(Pointcut),捕獲所有的連接點在指定的方法執行中,包括執行方法本身。
             cflowbelow(Pointcut),捕獲所有的連接點在指定的方法執行中,除了執行方法本身。

             如以下的例子:
             cflow(call(* Account.debit(..))
             所有的debit方法中的連接點,包括debit方法本身
             cflowbelow(call(* Account.debit(..))
             所有debit方法中的連接點,除了debit方法本身
             cflow(transactedOperations())
             所有由transactedOperations捕獲的連接點
             cflowbelow(execution(Account.new(..))
             所有在Account 構造器中執行的連接點

             基于詞匯結構的連接點
             源代碼片斷。,如within()和withincode()
             within :捕獲在指定類或者方面中的程序體中的所有連接點,包括內部類。
             Withincode:用于捕獲在構造器或者方法中的所有連接點,包括在其中的本地類

             執行對象連接點
             匹配this,和target對象,作為方法被調用的對象。
             this(Account),所有Account的實例的執行點,匹配所有的連接點,如方法調用,屬性設置,當前的執行對象為Account,或者其子類。
             target(Account):匹配所有的連接點,目標對象為Account或其子類。

             必須執行相應的類型,不能使用*,或者..通配符。當前靜態方法,不能被匹配。

             在within()和this()中的區別:
             一個是程序體,而另一個為對象執行。

             參數pointcuts
             用于捕獲參數類型的連接點。
             args(String,..,int)
             args(RemoteException)

             條件檢測pointcuts
             if(System.currentTimeMillis()>triggerTime)
          posted on 2007-07-04 16:39 周銳 閱讀(271) 評論(0)  編輯  收藏 所屬分類: AspectJ
          主站蜘蛛池模板: 西宁市| 弋阳县| 内黄县| 平湖市| 额济纳旗| 余姚市| 柘荣县| 沁阳市| 玛沁县| 鞍山市| 上栗县| 津市市| 岚皋县| 志丹县| 资阳市| 昆明市| 嘉黎县| 阿坝县| 红安县| 宿迁市| 鲜城| 且末县| 台北市| 大连市| 勐海县| 沂南县| 鄂州市| 新密市| 海宁市| 金堂县| 黔南| 炉霍县| 五台县| 鸡泽县| 南乐县| 大兴区| 繁峙县| 潮安县| 江北区| 鲁甸县| 谢通门县|