-1
唯一重要なポイントは、ターゲットメソッドのパラメータの量であるポイントカットを定義したいと思います。たとえば、私は以下のポイントカット定義を持っています。AspectJのポイントカットでパラメータ数を定義する
@Pointcut("@annotation(org.springframework.web.bind.annotation.RequestMapping)
&& execution(* pkg..*.*(pkg.Obj1, pkg.Obj2, pkg.Obj3))")
私は予想されるパラメータタイプをハードコードしたくありませんが、私はこのポイントカットに対して3つのパラメータだけを持つメソッドを取得したいと思います。パラメータの詳細を指定せずに、上記のポイントカットに対して3つのパラメータを設定する必要があるという情報だけで、これをどのように達成できますか?
たとえば、私はそれを一致させたい。
// in package pkg.*
@RequestMapping
public test(ObjX objX, ObjY objY, ObjZ objZ) {
//etc
}
ただし、以下に一致しません。
// also in package pkg.*
@RequestMapping
public test(ObjX obj) {
//etc
}
または
// also in package pkg.*
@RequestMapping
public test(ObjX objX, ObjY objY) {
//etc
}
または
// also in package pkg.*
@RequestMapping
public test(ObjX objX, ObjY objY, ObjZ objZ, ObjQ objQ) {
//etc
}