このポイントカットで mybatis を使用して db 呼び出しをプロファイリングするためのアスペクトを作成したい
@Pointcut("execution(public * org.example.mybatisgenerated.*Mapper+.*(..) )")
public void anyGeneratedMapperMethod(){}
問題は、マッパーはインターフェースであり、このような具象クラスがないことです。
public interface SampleMapper {
int deleteByPrimaryKey(String sampleGuid);
int insert(Sample record);
}
マッパーの実装 (実際の SQL スクリプト) は xml ファイルにあります。具象クラスはプロキシとして作成されます。どうにかマッパーのすべてのメソッドにアドバイスすることは可能ですか?
Aspectj ロードタイム ウィービングが使用されます。これは別の種類の織りで可能かもしれません。すべてのマッパーを具体的な実装でラップしたくありません。無駄なクラスがたくさんできてしまいます。