jdk aopの基本構成と理解1

4399 ワード

jdk aopの基本構成と理解1
一、一体何がAOP(フェースプログラミング向け)なのか.
勉強や面接ではspringの特性AOPとIOC(コントロール反転私たちの次の話)を口にしますが、中級エンジニアの多くにとっては曖昧な段階ですが、なぜAOPという技があるのでしょうか.バカはすべて知っています:開発者の便利さのために!!!私たちがコードを書かないために、力を節約します!私が言ったことを覚えてください.
次に例を挙げて説明します.
A,B,Cの3つのメソッドがありますが、各メソッドを呼び出す前に、ログの印刷を要求します.あるメソッドが呼び出され始めました.
各メソッドを呼び出すと、ログの印刷も要求されます.メソッドが呼び出されました.
一般の人は、それぞれの方法の開始と終了部分にログ印刷を追加するでしょう.このようにすると、方法が多ければ、重複するコードが多く、面倒に見えますが、なぜ印刷ログという機能をカプセル化しないのかと考える人もいます.そして、指定された場所(例えば、メソッドを実行する前、またはメソッドを実行した後)で自動的に呼び出すことができますか?できれば、ビジネス機能コードには他のコードが混ざっていないので、AOPはログ出力、トランザクション制御、異常な処理など、このような仕事をしています.
AOPを私たちが書いた「ビジネス機能」に特効を加えると、いくつかの問題があります.
1.どのような特効を作るか
2.これらの特効はどこで使われているのか
3.これらの特効はいつ使うのか
 
二、この三つの疑問に加えて、上の説明を加えて、AOPのいくつかの用語(読めないなら大丈夫、ゆっくり理解)を説明します.
1.通知(Advice)は、あなたが望む機能、つまり、安全、物事、ログなどです.まず定義して、使いたいところで使ってください.
    2.接続点(JoinPoint)これはもっとよく説明して、springがあなたに通知を使うことを許可する場所で、それは本当に多くて、基本的なすべての方法の前で、後で(両方あってもいい)、または例外を投げ出す場合は接続点、springはメソッド接続点のみをサポートします.他にaspectJのようにコンストラクタや属性注入時でも構いませんが、それは私たちが注目しているものではありません.覚えておいてください.メソッドに関連する前後(例外を投げ出す)は、接続点です.
    3.切り込み点(Pointcut)の上で言った接続点の基礎の上で、切り込み点を定義して、あなたの1つのクラスの中で、15の方法があって、それでは数十の接続点があって、しかしあなたはすべての方法の近くですべて通知を使うつもりはありません(織り込みと呼ばれるものを使って、後で話します)、その中のいくつかだけを、このいくつかの方法を呼び出す前に、その後、あるいは異常時に何かをしたい場合は、これらの方法を接点で定義し、接点に接続点をフィルタさせ、あなたが望む方法をいくつか選択します.
    4.接面(Aspect)接面は通知と切り込み点の結合です.今発見されたでしょう.接続点は何もありません.接続点はあなたに切り込み点をよく理解させるために作られたもので、この概念を理解すればいいのです.通知は何をするかといつするかを説明しています(メソッド名のbefore,after,aroundなどでいつ分かるか)、切り込み点はどこでやるか(どのメソッドを指定するか)を説明し、これが完全な切面定義です.
    5.導入(introduction)では、既存のクラスに新しいメソッド属性を追加できます.これは、ターゲットクラスにフェース(つまり、新しいメソッド属性:通知定義)を使用するのではないでしょうか.
    6.ターゲット(target)導入で言及されたターゲットクラス、すなわち通知される対象、すなわち真のビジネスロジックは、彼が知らないうちに、私たちにうどんを織り込まれることができる.自分はビジネスそのもののロジックに専念する.
    7.エージェント(proxy)がどのようにaopメカニズム全体を実現するかは、エージェントを通じて行われます.これは後で詳しく説明します.
    8.メッシュ(weaving)ターゲットオブジェクトにフェースを適用して新しいエージェントオブジェクトを作成するプロセス.3つの方法がありますが、springは実行時を採用しています.なぜ実行時なのか、後で説明します.
ポイントは、どの接続ポイントが通知されるかを定義することです.作者:善良なhealerソース:CSDN原文:https://blog.csdn.net/qq_32317661/article/details/82878679本文は博主のオリジナルの文章で、転載して博文のリンクを添付してください!


----> class ---> ----> ---> class

  
posted on
2019-06-12 09:40 QM.C読書(
...) コメント(
...) コレクションの編集
転載先:https://www.cnblogs.com/cqming/p/11007781.html