春AOPシステムログを使用する方法を実現するために、迅速、シンプルに複雑なの

1はじめに

私はそう長くったらしいしていない、より良い話に他よりもそれを入れていないだろう、オンライン記事の多くので、春AOPの概念は、詳細には触れません。

なぜ春AOPそれを使うのか?少ない書き込みコード彼らのビジネスロジックの実装に焦点を当て言って成績評価点と(自身のビジネスに焦点を当てるとなど、セキュリティ、トランザクション、ログ、など他の事、考えていない)、:私たちは非侵入的な方法を通じて実現したい機能を実現します

なぜ我々は、システムがそれをログ実装するためのSpring AOPを使用していますか?システムログの機能は、システム内の複数のモジュールで使用される、ログの一元管理を実現するために、我々は一般的に以下の3つのアプローチがあります。

  1. カスタムログ実装クラス、あなたが呼び出しを行うためにはログインする必要があり、インスタンスを作成します。
  2. このインタフェースを継承するローカルログを使用して、ログ・インタフェースと実装クラスを定義します(なぜインターフェイスは多重継承を実現するために直接、クラスを定義するのではなく、インタフェースを定義し、我々は、それ自体がにある背景クラスの多くを持っているために、継承適切なインターフェイスは、そのためには)当社の他の事業を達成するために、ログ・インタフェースの導入には影響しません。
  3. 非侵入ロギングを達成するために春AOP、アスペクト指向プログラミングを、ご紹介します。

3つの方法の上記の分析には、システムログ機能を実装できます。

  • しかし、第一種、あまりにも面倒なの一つであり、どこにでも作っは、良いああを見ていない、また低いように見えます。
  • 第二種が、同じの最初の1種類とは異なり、しかし、あなたは、ログ・相続・インタフェースでなければならない、メソッド呼び出しのシリーズを持って、パラメータを渡し、常に余分な負担の多くを感じました。
  • 第三は、悪くない、ただ記録することができ、ライン上でログインする方法に注釈を追加し、ダイナミックログの内容多くのオンライン記事は異なるが(レコードの内容は静的コンテンツですについて説明し、シンプルで、簡単ですなく、実用的なああ)は非常に豊富なことができ、良いコードがきれいで、それはクールに見えました。

2、春AOPは、システムログを実装するための手順?

象は冷蔵庫のインストール手順?冷蔵庫を開くための最初のステップは、第二のステップ、ドアを閉め第3の工程と、ライブ一緒にロードされた象を置きます。
同様に、春AOPは、システムがそれをログ実装するための手順?

ステップカスタム注釈クラス、
第2段差部定義されたクラスは、
第3のステップは、カスタムログ注釈クラスの通常の方法、ライブ一緒に添加しました。
次の図は、いずれかを示しています。

春AOPシステムログを使用する方法を実現するために、迅速、シンプルに複雑なの

上の図を理解し、あなたは春AOPを使用して、独自のシステムログを実装することができるだろう。

システムログは、一般的に簡単なナビゲーションクエリ管理担当者のためのデータベースに格納されています。また、当社は、そのようなデータの追加や削除など、さまざまなコンテンツを記録する操作の異なる種類の操作を行いますが、変更前と後のレコードの値をログに変更を加えた場合、記録する詳細を追加または削除、およびその上で、これらする必要がありますで作業第二のステップは、アスペクトクラス定義されている実装。

詳細なコードについては、私たちが私のビデオを参照することができます:https://edu.51cto.com/sd/091c7、詳細にそこに掲載されていません

図3に示すように、スプリングAOP必要な知識

私は、我々はまだクリアしなければならない春AOPの概念を説明したいのですが、必要な概念はありませんが、それ以外の場合はYunshanwuzhao、Zhaomaohuahuはしませんが引く可能性があるでしょう。

AOP春の以下の概念については、私は言って人々に伝えるために試してみてください。

接続点(ジョインポイント):前述の方法、及び結合点の後方には、アプリケーションタイプがProceedingJoinPointである場合、異常である、
エントリーポイント(ポイントカット):この方法は、目の前、又は後ろにある、または製織の前と後の両方で、対応するアノテーション:@Before 、周辺@、後@;
製織が(製織):;:注釈のライフサイクルを示す3種類、ソース、クラス、RUNTIMEを含む@Retention、アノテーションに対応する方法で、または後ろの前にある、または製織の前と後の両方ランタイム一般的に使用される(注釈ランタイム);
標的(ターゲット) ; @Target:新しい方法は、アノテーションに対応する方法属性に追加された
セクション(態様):特定の作業カテゴリ対応する注釈:@Aspect。

別のエージェント(代理)、通知(助言)、導入(導入)これらの3つの概念、あなたがより良いAOPメカニズムを理解しやすい、すなわち3つの概念。最善を理解するために、(オブジェクト指向プログラミングのように、のように、カプセル化、継承やポリモーフィズムを理解することが必要である、適切ではない)、インパクトがあまりにもあなたの作業を行うことはありません理解していません。

おすすめ

転載: blog.51cto.com/3058076/2470130