私はこのような何かを持っていると思いますメソッドが実行されて新しい文字列値で実行されるようになります。したがって、メソッドがパラメータ "I'm at the foo"で呼び出された場合それは実際には "私はバーにいます"と実行する必要があります。AspectJのメソッドパラメータの変更値
この作業の仕方はわかりません。私はこれをしばらく手伝ってきました。のは、私が最後にこの時点で終わったとしましょう:私は間違って
@Documented
@Target({ElementType.PARAMETER, ElementType.FIELD, ElementType.LOCAL_VARIABLE})
@Retention(RetentionPolicy.RUNTIME)
public @interface ReplaceFooBar {
}
そして...
@Aspect
public aspect ReplaceFooBarAspect {
@Before("@annotation(ReplaceFooBar)")
public String replaceFooBar(String value) {
if (value == null) {
return null;
}
return value.replaceAll("foo", "bar");
}
}
何をしているのですか?
私のコードがコンパイルされていない、私はこれらのようなエラーが発生しています。
Error:(6, 0) ajc: Duplicate annotation @Aspect
Error:(7, 0) ajc: aspects cannot have @Aspect annotation
Error:(10, 0) ajc: This advice must return void
Error:(10, 0) ajc: formal unbound in pointcut
私はこれらの側面が正確にどのように動作するかわからないが、どのように私はそれを望むように取り組んでこれを取得します。
うーん...それもコンパイルされません。私はそれが私を助ける方法を知っている人には明らかだったと思った。エラー:(6、0)ajc:Duplicate annotation @Aspect Error:(7、0)ajc:aspectは@Aspectアノテーションを持つことができませんエラー:(10、0)ajc: (10、0)ajc:ポイントカットで正式にバインドされていない ' – morgoth84
なぜこれが重要なのか本当に分かりません。これらの側面を知っている人にとっては、それがコンパイルされていないことは完全に明らかでなければなりません。それを追加することで、私は不必要なデータで質問を乱雑にしています。しかし、それがあなたを幸せにするなら、大丈夫です。 – morgoth84
私はそれを書く方法を知っていれば、確かにあなたに検証可能なコードを与えたいと思います。私は数時間をかけて成功しなければ今日働かそうと努力しました。だから私はここで誰かが答えを知っていると思っていたかもしれません、そして、私はすぐに彼/彼女がすぐに明らかになるでしょう。だから私の代わりにそれにもっと多くの時間を費やす人は、自分の時間の5分で直接私を助けることができます。残念ながら、私はAspectJのチュートリアルを今すぐやり、すべての詳細を自分で学ぶ日はありません。 – morgoth84