私が達成しようとしていることは次のとおりです。
次のような構造のサーバーがあります。
置き場 apis サービス 等...
サービスで使用されるアスペクトを含むAPIを定義したいと思います。言う:
@Aspect
public class AuthorizationAspect {
@Pointcut("call(* *()) && @annotation(Authorization)")
public void cutAuthorize() { }
@Before("cutAuthorize()")
public void callFromAuthorizeBefore() {
System.out.println("Test");
}
}
次に、サービスを定義し、必要なメソッドに@Authorizationで注釈を付けると、その側面によってポイントカットされます。
知っておくべきこと:
- サービスはAPIを使用してコードをコンパイルするだけです。したがって、APIは既にサーバーに存在するため、スコープは「提供」されます。
- サービスJARは動的にロードされるため、別のクラスローダーに常駐します。
私の質問は、どうすればこれを行うことができますか?それを達成するためにMavenアーティファクトを定義するにはどうすればよいですか?
私はaspectjプラグインにweaveDependenciesセクションがあることに気づきましたが、これにはそのAPIのすべてのクラス(私が避けたいもの)もサービスJARに含まれます。これは正しい動きですか?
前もって感謝します、
ルイ