問題タブ [aspect]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
75246 参照

java - 自分の例外の代わりにUndeclaredThrowableExceptionを取得する

私は次のコードを持っています

権限のないユーザーを使用すると、のjava.lang.reflect.UndeclaredThrowableException代わりに取得しAccessExceptionます。

0 投票する
1 に答える
3785 参照

java - AspectJで使用するためのアノテーションパラメータの値を取得するにはどうすればよいですか?

この方法を検討してください。

このポイントカットは、メソッドに@Accessアノテーションがある場合、基本的に一致します。

しかしrights、特定のアクセスレベルを格納する@Accessのフィールドにアクセスして、それを操作できるようにするにはどうすればよいですか?

0 投票する
1 に答える
1328 参照

java - メソッド名がAspectJの既存の注釈付きメソッドに基づいているクラスにメソッドを追加する方法は?

次のコードを検討してください。

現在、このメソッドにはアクセス チェックが組み込まれてcurrentUserおり、データベース コマンドを実行するために必要な権限があるかどうかを確認します (権限がない場合は例外をスローします)。

新しいメソッドを作成するには、AspectJ ファイルに何を追加する必要がありますか?

同じアクセス チェックを使用してクラスに追加されますが、コマンドは実行されませんか?

この使用例は、getter/setter をフィールドに追加する場合と似ているようです。

0 投票する
3 に答える
2676 参照

java - アノテーションを使用した Spring 3 の AOP

Aspect を Spring 3 とアノテーションで動作させようとしています。

XML:

アスペクトをテストするMYテスト:

}

このコードでは、「Inside Attribute call ...」のみが表示されますが、アスペクトからは何も表示されません。ガイドしてください。

新しいオブジェクト (コンポーネント) を作成し、Junit テスト クラスに注入することで、これを機能させました。

0 投票する
0 に答える
563 参照

java - 私の例外ログの側面は、同じ例外を 2 回ログに記録しています

私はスタンドアロン アプリケーションを作成しています。このアプリケーションは、起動して長時間放置する必要があります。例外によって停止するのではなく、サポート担当者が何が起こったのかを把握して続行できるように、十分な情報を含めて例外をログに記録する必要があります。

その結果、各例外は実行時例外にラップされ、スローされて、アプリケーションの別の部分によってログに記録されます。aop:config タグを使用して、アプリケーションの残りの部分によってスローされたランタイム例外をログに記録するアスペクトを作成しています。その後、例外は UncaughtExceptionHandler までコール スタックを上に移動し、例外をサイレントに終了します。ただし、同じ例外が繰り返しキャッチされ、ログに記録されます (各例外は個別のスレッドによって書き込まれ、個別のログ ファイルに記録されます)。デバッガーでは、両方の例外の ID が同じです。

私のapplicationContextはこれの基本です:

UncaughtExceptionHandler は、少なくとも私がそれを機能させるまでは、同様に基本的です:

ポイントカットを 1 つのパッケージに制限し、そのパッケージ (例外ログが含まれているパッケージではない) から例外をスローして実験しましたが、それでも 2 回ログに記録されます。この考えに何か根本的な間違いはありますか? アドバイスをいただければ幸いです。

0 投票する
1 に答える
1280 参照

java - 春に条件付き結合点を使用する

春に条件付き結合ポイントを使用する方法

私の要件では、メソッド名がinsertの場合、またはメソッド名がupdateの場合、またはメソッド名がdeleteの場合、およびメソッドに正確に3つの引数が必要な場合、ポイントカットを適用する 必要があります

これは私が書いたコードでした、

以下の行に何か問題があります。式の形式が正しくないというエラーが表示されます。

0 投票する
4 に答える
34208 参照

spring - 複数のパッケージに単一のポイントカットを指定する方法

spring mvc ベースのアプリケーションでアクティビティをログに記録するために Aspect を使用しています。@controllerアノテーションを使用して、アプリケーション内のコントローラーを定義しています。私は2つの異なるパッケージに2つの異なるコントローラーを持っています

  • com.package1 にはコントローラー 1 クラスが含まれています。名前を AController にしましょう。
  • com.package2 にはコントローラー 2 クラスが含まれています。名前を BController としましょう。

を使用して、コントローラーの特定のパッケージにアスペクトを適用できます

私の質問は、 expression(* package1. . . (..))**で複数の異なるパッケージを指定する方法です。

現在、パッケージごとに 1 つの個別のポイントカットを宣言しており、側面では、各ポイントカットに対して 1 つの個別aop:beforeaop:afterエントリを宣言しています。しかし、これは複数のパッケージのポイントカットを定義する理想的な方法だと思います。

0 投票する
2 に答える
342 参照

javascript - 何かがアスペクトされている-Javascriptで指向

したがって、他の関数の前後に関数を追加するためにこのコードを作成しましたが、それを行うためのより良い方法を見つけることができませんでした。eval()を使用する必要があり、それは実際には良い習慣ではありません。最初、私は次のようなことをしようとしました:

しかし、関数自体を変更できないため、機能しませんでした。だから私はこれをしました:

オブジェクトなどを操作したくないので、すでに宣言されている関数の前後にコードを追加したいだけです

0 投票する
1 に答える
76 参照

c# - アスペクト クラス コードは、Rapier-LOOM のターゲット クラス コードと織り合わせることができません

「C# Visual Studio 2008.net を使用して」アスペクト クラスとターゲット クラスを作成しましたが、アプリケーションを実行してそれらを織り交ぜるたびに、ターゲット クラスのみが実行されましたが、アスペクト クラスを実行できませんでした。レイピア ルームへの参照を添付しようとしました。 rapier-loom をアンインストールして再インストールしようとしましたが、同じ問題が発生します....何が問題なのですか?

これはアスペクトクラスです:

これは適用方法です:

ターゲット クラスは次のとおりです。

0 投票する
1 に答える
106 参照

java - アスペクトとしてのスイングパネル/フレームのレイアウトコンポーネント

Swingアプリケーション用に構築したフレームワークを改善することを検討していました。春を持ち込んで、側面を紹介したいと思いました。私は春と側面の両方に不慣れです。疑問に思っていたのですが、コンポーネントをアスペクトとしてレイアウトすると言うのは良い習慣ですか?例えば:

以下は、典型的なスイングパネルでの私のクラスです。

layoutComponentsの呼び出しを削除し、それをSpring構成ファイルのアスペクトとして適用するかどうか疑問に思いました。「レイアウト」を実行する別のクラスを用意し、それをPanelクラスのレイアウトではなくアスペクトとして適用します。これは、アスペクトが使用される種類のシナリオですか?