問題タブ [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 に答える
28923 参照

java - BeanNotOfRequiredTypeException でしたが、実際には $Proxy 型でした

Spring とプロキシの問題についてサポートが必要です。

org.springframework.beans.factory.BeanNotOfRequiredTypeException: 'fooAPIService' という名前の Bean は [com.foo.clientapi.service.FooAPIService] 型である必要がありますが、実際には [com.sun.proxy.$Proxy110] 型でした

org.springframework.beans.factory.BeanCreationException: 'activityController' という名前の Bean の作成中にエラーが発生しました: リソース依存関係の注入に失敗しました。ネストされた例外は org.springframework.beans.factory.BeanNotOfRequiredTypeException: 'fooAPIService' という名前の Bean はタイプ [com.foo.clientapi.service.FooAPIService] である必要がありますが、実際にはタイプ [com.sun.proxy.$Proxy110] でした

Webapp プロジェクト ->

春のコンテキスト

ActivityController.class

別のプロジェクト (マイクロサービス) ->

FooAPIService.class

Jaxrs 構成:

バージョン:aspectjweaver:1.6.10、aspectjrt:1.6.11 cglib:2.2 Spring 3.2.2

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

java - struts2-spring2.5 Web アプリケーションのアスペクト内でログインしているユーザー名を取得する

struts2 と spring2.5 で構築された Web アプリケーションがあります。Struts とセキュリティの MVC の性質、Dependency Injection、Spring からの AOP を使用します。

メソッドが呼び出される前に実行されるログ操作のアスペクトを使用しました。しかし、ログインしたユーザー名をログに記録することはできません。私が望むのは、メソッドがメソッドの署名とメソッドのパラメーターとともに呼び出されるたびに、ユーザー名をログに記録することです。

どんな助けでも大歓迎です..

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

java - コンパイルレベルを変更するためのaspectjプロジェクトのエラー

eclipse_4.3、JDK_1.8.0 をインストールし、Aspect には ajdt_2.2.3 ライブラリを使用します。Compiler Compliance レベルを変更しない限り、デフォルトは 1.4 で、私のプロジェクトは OK です。しかし、プロジェクトでこのコードを書くと:

そのため、コンパイラ コンプライアンス レベルを 1.5 に変更する必要がありますが、これを行うと、アスペクトの最初の行で次のエラーが発生します。

「型 java.lang.CharSequence を解決できません。必要な .class ファイルから間接的に参照されています」

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

java - AspectJ を注入したメソッドのポイントカット

ApsectJ で注入されたメソッドのポイントカットを定義するにはどうすればよいですか?

次のようにメソッドを注入しましたが、正しく動作します。

注入されたメソッドの実行を検出するためにポイントカットを定義しようとしていますが、成功していません。次のことを試しました。

どんな助けでもいただければ幸いです

ありがとう!

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

c# - 特定のクラスの子クラスで定義されたメソッドだけにポストシャープ アスペクトを適用する方法は?

特定のクラスの子クラスのすべてのパブリック メソッドだけに PostSharp アスペクトが適用されるように指定できますか?

つまり、から継承したクラスで定義されたパブリック メソッドだけに を適用ClassAしたいと考えています。OnMethodBoundaryAspectClassA

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

json - ソースコードに触れずにメソッド/コンストラクタパラメータに注釈を追加する方法は?

jackson 2 を使用して、フレームワーク オブジェクト (ソース コードへのアクセスなし) を JSON にデシリアライズしようとしています。

Javassist で作成された新しいメソッドのパラメーターに注釈を追加することを見つけましたが、このソリューションは JavaAssist に基づいており、完全には適用されません :(

根本的な問題は、パラメーターに対応する @JsonProperty アノテーションと一緒に @JsonCreator アノテーションを使用して解決できる DefaultConstructors の欠如です。

mixinクラスを使用して、多くのアイテムサブクラスの1つでこれを達成することができました。

しかし、関連するすべてのオブジェクトにほぼ同じ内容の mixin クラスを作成するのは間違ったアプローチのように思われるので、側面を調べ始めました。

アイテムの階層内のクラスにアノテーションを追加するのは簡単でした:

ただし、アスペクトを使用してコンストラクターのパラメーターに注釈を追加する方法が見つからないようです! Aspectj in Action と Google はまだ回答を提供していません。これはまったく可能ですか?

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

java - 春のアスペクトロガー

私は注釈ベースのアスペクト定義を作成していたので、それを作成してメソッド@LogPerformanceに配置しました。createuser()その場合、アスペクトメソッドは呼び出されませんが、 @LogPerformancecreateuser()を create() メソッドに移動すると、アスペクトメソッドが呼び出されます。@LogPerformancecreateuser メソッドに影響しないのはなぜですか 。

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

java - コンパイル時のアスペクト ウィービングが機能しない

Eclipse Kepler、Java 1.7 を使用しています。私の pom.xml の一部を以下に示します。Maven のコンパイル中にわかるように、ウィービングに関するログはまったくありません。どちらもエラーはありません。アスペクトも機能しません。私は何を間違っていますか?いくつかの例でわかるように、この pom は機能するはずです。AspectJ ツールを Eclipse にインストールしました。

編集:これは私のアスペクトコードです:

私のアスペクトで織りたい方法:

また、maven clean compile出力は次のとおりです。