ロギングに使用される Spring AOP アスペクトがあり、次のように、アノテーションを追加することでロギングにメソッドを含めることができます。
@AspectLogging("do something")
public void doSomething() {
...
}
私はSpring Beanでこれを使用してきましたが、うまく機能しています。さて、REST サービスで使用したかったのですが、いくつか問題が発生しました。ので、私は持っています:
@Path("/path")
@Service
public class MyRestService {
@Inject
private Something something;
@GET
@AspectLogging("get some stuff")
public Response getSomeStuff() {
...
}
}
このセットアップは問題なく機能します。私がロギングを追加しようとしているRestサービスにはインターフェースがあり、どういうわけか混乱しています。@AspectLogging
メソッドの 1 つにアノテーションを追加するとすぐに、依存関係は Bean に注入されず、アスペクトはより新しく呼び出されます!
機能する REST サービスにインターフェイスを追加しようとしましたが、同じエラーが発生します。
インターフェイスを持つことで、この種の問題がどのように発生するのでしょうか? アスペクトロガーは、他のインターフェイスを持つクラスで機能しますが、REST サービスの場合にのみ問題になるようです..