春AOPプログラミング経験

プログラミングのパラダイムの概要:カットのためのプロセス指向、オブジェクト指向プログラミング機能、イベント駆動型プログラミング、など、

AOPとは何ですか?

  春AOPは、OOPが、補完的との関係に代わるものではありません、アスペクト指向プログラミングではなく、プログラミング言語を使ってプログラミングパラダイムは、それだけですべての問題ではなく、特定の問題を解決することができます。

AOPの心:

  あなた自身を繰り返してはいけないDRY

  懸念のSoCの分離 

AOPのメリット:

  懸念/横断ロジックに集中、あなたは簡単に追加、削除キーを、低侵襲性、コードの可読性と保守性を向上させることができます。

AOPのアプリケーションのシナリオ:

  アクセス制御、キャッシュ制御、トランザクション制御、監査ログ、パフォーマンスの監視、分散型追跡、例外処理。

ポイントカット式

  1、指定子 

    マッチング方法:実行()

    マッチ・ノート:@target @args @within @annoation @

    マッチパケット/タイプ@within

    この()豆()ターゲットにマッチするオブジェクト()

    パラメータの引数をマッチング()

  2、ワイルドカード:* + ..

  3、演算子: && ||

ウィービング時間:

  エージェントの選択:ターゲットオブジェクトが、インターフェイスを実装し、対象オブジェクトがインタフェースを実装している場合、動的プロキシをCGLIBが、力のCGLIBプロキシ、プロキシCGLIBを使用しない場合は、ターゲットオブジェクトは、デフォルトのJDKの動的プロキシを使用して、インターフェイスポートを実装している場合。

動的プロキシを使用するように強制開放CGLIB:出発化合物プラス@EnableAspectJAutoProxy(proxyTargetClass = TRUE)モジュール

機能の重ね合わせを実現するためにどのようにAOP Chain of Responsibilityパターンを:

注意事項:

  1、AOPにはない重要なビジネス・ロジック

  2、静的最終プライベートメソッドを傍受することはできません

  次いで内部なしで、コールする新しいクラスと、2を呼び出し、1、ApplicationContextHolderは豆を取得:オブジェクトがこのことから、むしろプロキシSpringコンテナオブジェクトより、二つの溶液がある内部コール:3は、インターセプトは内部メソッドを呼び出すことができません呼び出します。

おすすめ

転載: www.cnblogs.com/niuyg928/p/11404342.html