Spring AOPに関する良いインタビューの質問は何ですか?


ベストアンサー

1。アスペクト指向プログラミングの意味(AOP)春に?アスペクト指向プログラミングはオブジェクト指向プログラミングのように機能します。オブジェクト指向プログラミングでは、モジュール性の単位はオブジェクトですが、アスペクト指向プログラミングでは、モジュール性の単位はアスペクトです。アスペクトは、AOPの横断的関心事として知られる関心事のモジュール化として機能します。 AOPフレームワークは春にプラグイン可能です。 AOPは宣言型エンタープライズサービスを提供し、ユーザーがカスタムアスペクトを実装できるようにします。

2.なぜ使用するのですか?すべてのメソッドをログに記録するとします。入口と出口。これは、開始時と終了時にすべてのメソッドにログステートメントを書き込むことで実現できます。しかし、これには多くのコード作業が必要になります。すべてのメソッドまたはクラスに適用する必要があるセキュリティのようなさまざまなタスクがあります。これらは横断的関心事として知られています。 AOPは、横断的関心事の問題に対処します。これは、さまざまな方法で繰り返され、通常、ロギングや検証のように独自のモジュールに完全にリファクタリングできないあらゆる種類のコードです。

3. Spring AOPのさまざまな実装は何ですか? SpringAOPのさまざまな実装は次のとおりです-AspectJSpring AOP JBoss AOP

4。さまざまなAOP用語を説明しますか? さまざまなAOP用語はJoinpointです。Joinpointは、アスペクトをプラグインできるアプリケーションのプログラム実行の候補ポイントです。このポイントは、呼び出されるメソッド、スローされる例外、またはフィールドである可能性があります。変更されています。これらは、アスペクトのコードをアプリケーションの通常のフローに挿入して、新しい動作を追加できるポイントです。アドバイス:これは、ポイントで指定されたジョインポイントで実行するアクションを表す、システム全体の懸念事項へのAPI呼び出しを含むオブジェクトです。ポイントカット:ポイントカットは、どの結合ポイントで、関連するアドバイスを適用するかを定義します。アドバイスは、AOPフレームワークでサポートされている任意のジョインポイントに適用できます。もちろん、考えられるすべての参加ポイントにすべての側面を適用する必要はありません。ポイントカットを使用すると、アドバイスを適用する場所を指定できます。多くの場合、これらのポイントカットは、明示的なクラス名とメソッド名を使用するか、一致するクラス名とメソッド名のパターンを定義する正規表現を使用して指定します。一部のAOPフレームワークでは、メソッドパラメータの値など、実行時の決定に基づいてアドバイスを適用するかどうかを決定する動的なポイントカットを作成できます。アスペクト:OOPのモジュール性の主要な単位はクラスですが、AOPではモジュール性の単位がアスペクトです。アスペクトにより、複数のタイプやオブジェクトにまたがるトランザクション管理などの懸念事項のモジュール化が可能になります。ウィービング:Spring AOPでは、サービスのようなロギング、トランザクションをモジュール化して分離し、それらをコンポーネントに宣言的に適用することができます。したがって、プログラマーは特定の懸念に集中できます。アスペクトは、JavaBeanのように、SpringXMLファイル内のオブジェクトに組み込まれます。このプロセスは「ウィービング」として知られています。

5. SpringAOPとAspectJAOPの違いは何ですか? AspectJは業界です-アスペクト指向プログラミングの標準実装ですが、Springは場合によってはAOPを実装します。 SpringAOPとAspectJの主な違いは次のとおりです。

  • Spring AOPは、ウィービングプロセスについて心配する必要がないため、AspectJよりも簡単に使用できます。
  • SpringAOPのサポートAspectJアノテーションなので、AspectJに精通している場合は、SpringAOPの操作が簡単です。
  • SpringAOPはプロキシベースのAOPのみをサポートしているため、メソッド実行の結合点にのみ適用できます。 AspectJはあらゆる種類のポイントカットをサポートします。
  • Spring AOPの欠点の1つは、SpringContextを介して作成されたBeanにのみ適用できることです。

> 続きを読む >>

回答

Spring AOPに関する質問は、Joinpoint、Adviceなどのアスペクト指向の用語を中心に展開されます。などと、プロジェクトでアスペクト指向プログラミングを使用したユースケース-

いくつかの質問は-

AOPとは何ですか?

実行時間とコンパイル時間AOP

さまざまな種類のSpringアドバイス

その他の質問はここにあります-

Spring AOPインタビューの質問

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です