スプリング-OP(概念、用語)
Scopeプロジェクトでは、チームメンバーがSpring AOPを使用してログをモジュール化します.
21-10-09の3行のspring AOP説明に追加!
展望向けのプログラミングの略に訳すと、観点向けのプログラミングになります!
AOPは,OOP(オブジェクト向けプログラミング)概念と衝突する概念ではなく,OOPの概念を補完する.
OOPにおけるモジュール化単位は
AOPでは、モジュール化された単位は
概念的に解釈すれば
論理によって
このような観点に基づいて,付加機能をモジュール化する.
もちろん、必要に応じて分離されたモジュールを使用することができます!
上の画像を例として理解しましょう.
Aクラス,Bクラス,Cクラスの付加機能をAOPベースにモジュール化する.
クラス内の主要機能以外の機能をクラスから分離する.
Aspect X Y Zで動作する
複数のクラスで使用される汎用機能をモジュール化
Springは、分離されたモジュール(クラス)に
モジュール運転点
例外が発生した場合、メソッドを実行した場合、フィールド値をクエリーした場合など、さまざまな操作がjoin Pointとなります.
特定のjoin Point上でAsspectによって実行される操作
簡単な例を挙げて、AにB機能を実行させます!モジュールとして有名なら
BがAdviceになる!
評価の実施体としては、実行時点によって前後型に分けられる.
Spring AOPはAdviceをブロッキングにモデリングします!
(以下の詳細を参照してください!)
Join Pointの概要
Point==AdviceのJoin Pointを実行
1つ以上のビューでアタッチされたオブジェクト
Spring AOPはランタイムエージェントを用いて実装されるため,ターゲットオブジェクトは常にエージェントオブジェクトである.
AOPフレームワークによって生成されたオブジェクトは、調査中のコンサルティングを実施するために使用されます.
Join Pointより前に実行
実行時に異常が発生しない限り、Join Pointのロジックは停止しません
Join Point正常完了後運転
例外を放出しない場合は、実行
例外を放出し、メソッドが終了した後に実行
Join Point任意の方法で終了時に実行
例外なく実行
メソッド呼び出しなどのJoin Point周辺
ユーザーは、呼び出しメソッドの前後で実行される論理を定義できます.
メソッドの戻り値の自己設定や例外を投げ出すことでメソッドの実行時間を短縮するなどを定義する必要があります.
Ver. 2.5.x
Ver. 4.3.12
21-10-09の3行のspring AOP説明に追加!
AOPとは何ですか。
展望向けのプログラミングの略に訳すと、観点向けのプログラミングになります!
AOPは,OOP(オブジェクト向けプログラミング)概念と衝突する概念ではなく,OOPの概念を補完する.
OOPにおけるモジュール化単位は
Class
である.AOPでは、モジュール化された単位は
Aspect
!概念的に解釈すれば
論理によって
핵심기능
-부가기능
に分けられる.このような観点に基づいて,付加機能をモジュール化する.
もちろん、必要に応じて分離されたモジュールを使用することができます!
例!
上の画像を例として理解しましょう.
Aクラス,Bクラス,Cクラスの付加機能をAOPベースにモジュール化する.
クラス内の主要機能以外の機能をクラスから分離する.
Aspect X Y Zで動作する
AOP를 이해할 때 Aspect를 번역해서 관점이 최소 단위라고 이해하면 나중에 어지러울 수 있다....(경험담)
문자 그대로 이해하는 것이 전체적인 개념 이해에 더 도움이 된다!
より具体的な例は、SCOPEプロジェクトでは、各コントローラのメソッドに出力ログのコード分離があります!AOPで使用される用語と概念
Aspect
複数のクラスで使用される汎用機能をモジュール化
Springは、分離されたモジュール(クラス)に
@Aspect
操作を追加します.Join Point
モジュール運転点
例外が発生した場合、メソッドを実行した場合、フィールド値をクエリーした場合など、さまざまな操作がjoin Pointとなります.
Advice
特定のjoin Point上でAsspectによって実行される操作
簡単な例を挙げて、AにB機能を実行させます!モジュールとして有名なら
BがAdviceになる!
評価の実施体としては、実行時点によって前後型に分けられる.
Spring AOPはAdviceをブロッキングにモデリングします!
(以下の詳細を参照してください!)
Pointcut
Join Pointの概要
Point==AdviceのJoin Pointを実行
Target object
1つ以上のビューでアタッチされたオブジェクト
Spring AOPはランタイムエージェントを用いて実装されるため,ターゲットオブジェクトは常にエージェントオブジェクトである.
AOP proxy
AOPフレームワークによって生成されたオブジェクトは、調査中のコンサルティングを実施するために使用されます.
コンサルティングタイプ
Before advice
Join Pointより前に実行
実行時に異常が発生しない限り、Join Pointのロジックは停止しません
After returning advice
Join Point正常完了後運転
例外を放出しない場合は、実行
After throwing advice
例外を放出し、メソッドが終了した後に実行
After (finally) advice
Join Point任意の方法で終了時に実行
例外なく実行
Around advice
メソッド呼び出しなどのJoin Point周辺
ユーザーは、呼び出しメソッドの前後で実行される論理を定義できます.
メソッドの戻り値の自己設定や例外を投げ出すことでメソッドの実行時間を短縮するなどを定義する必要があります.
Around advice는 가장 일반적인 종류의 Advice이다.
위의 유형들의 기능 모두 동작할 수 있다.
** spring docs에서는 오류 가능성이 적은 프로그래밍을 위해서
가장 구체적인 Advice 유형을 사용하기를 권장하고 있다.
[参考資料]docs.spring.ioのaopVer. 2.5.x
Ver. 4.3.12
Reference
この問題について(スプリング-OP(概念、用語)), 我々は、より多くの情報をここで見つけました https://velog.io/@9sanha/스프링-AOP-1テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol