Javaの高度な知識22春の実行ポイントカット表現

1.概要        

  エントリポイント(実行):缶インターセプト法、それによって指定されたクラスのプロキシオブジェクトを生成し、指定されました。(傍受それは指定された手順/方法にカットされ、誰と誰ですか)

  フォーマット:

実行(修飾子パターン?RET型パターン宣言型パターン?名前パターン(パラメータパターン)がスロー -pattern?)

パラメータ解像度:

  ?:修飾子パターン指定されたメソッドの修飾子、支持ワイルドカードは、一部を省略してもよいです。公開/プライベート/保護された
  RET-パターン型:指定メソッドの戻り値の型、ワイルドカードは、すべて*戻り値の型を一致させるために使用することができます。
  宣言型パターン:指定方法が属するクラスワイルドカードサポートするために、一部を省略してもよいです。カットクラスに:クラス
  名前パターン:指定一致するメソッド名、ワイルドカード、あなたはすべてのメソッドに一致するように、「*」はワイルドカードを使用することができます。カット方式に
  PARAMパターン:指定されたメソッドの宣言のパラメータリスト、二つの支持ワイルドカード、すなわち、「*」と「.. 『『*』は、任意の型の引数を表し、』 ..」これは、任意の型のゼロまたはそれ以上のパラメータを表します。(..)任意の数のパラメータ、(*)のマッチング方法は、パラメータ法を受け入れる任意の型と一致している間、例えば、()は、任意のパラメータのマッチング方法を受け入れていない、(*、文字列)と一致最初のパラメータが任意の型のものである前記方法は、2つのパラメータを取り、2番目のパラメータは文字列でなければなりません。カット法すべきパラメータのリスト
  パターンをスロー。メソッド宣言スロー指定例外、サポートワイルドカードを、一部を省略することができます。

いくつかの一般的に使用されるエントリポイントの構文:

1  < -ポイントカット表現の構文:! - >
 2  <! - [1、方法は、すべての国民を傍受] - > 
3。 < AOP:ポイントカット表現= "実行(パブリック* *(..))" ID = "PT" /> 4。5。<! - [2、全ての方法は、保存開始ブロック] - > 6 < AOP:ポイントカット= "実行(*保存*(..))" ID = "PT" / > 7 。8 <! - [3、指定されたインターセプト法指定されたクラス、時間がインターセプト法に位置決めされなければならない] - > 9 < AOP:ポイントカット=「実行(* com.shore.dao.impl.UserDao.save (..)) "ID = "PT" /> 

10 。11 <! - [4、指定されたクラスの全てのメソッドをインターセプト] - > 12である < AOP:ポイントカット= "(。com.shore.dao.impl.UserDao *(..))実行" ID = " PT " />
13である 14 <! - [5、指定されたパケットを傍受、及び全てのクラスの全てのメソッドそこから袋] - > 15 < AOP:ポイントカット="実行(COM * .. *(.. 。))、 " ID =" PT " />
16 17 <! - [6]多くの条件- > 18 <! - または:||または- > 19。 < AOP:ポイントカット="実行(* com.shore.dao.impl。UserDao.save(..))|| 実行(* com.shore.dao.impl.MessageDao.save(..)) " ID = "PT" />
20 < AOP:ポイントカット表現="実行(* com.shore.dao.impl.UserDao.save( ...))、または実行(* com.shore.dao.impl.MessageDao.save(..))」ID = "PT" />
21 22 <! - 且:&#038;&#038;および- > <! - 语法虽然没错、但、没意义- > 23 < AOP:ポイントカット表現=「実行(* com.shore.dao.impl.UserDao.save(..)) &#038;&#038; 実行(* com.bw.dao.impl.MessageDao.save(..))」ID = "PT" /> = "実行(com.shore.dao.impl.UserDao.save *(..))と実行(com.shore.dao.impl.MessageDao.save *(..))" ID = "PT" />
25 26である <! - [7、負の値:ありません!これは、切片は、すべてのクラスメソッド]切片に加えて、ルールを指定しない> - 27 < ポイントカット:AOP 表現「!実行(com.shore.dao.impl.UserDao.save *(..))」= ID = "PT" />
28 <! - ないように注意する前にスペースがなければならない- > 29 < AOP:ポイントカット表現= "実行ません(* com.shore.dao.impl.UserDao.save(..))" 上記のid = "白金" />

2、例        

 

 

 

 

 

 

 

 

 

 

原作:DSHORE

ホーム著者: http://www.cnblogs.com/dshore123/

元から:https://www.cnblogs.com/dshore123/p/11823849.html

ようこそ転載、複製、ソースを示すために確認してください。この記事は参考になりました場合は、右下の隅をクリックすることができます勧告、またはコメントをありがとうございました!

おすすめ

転載: www.cnblogs.com/dshore123/p/11823849.html