将方面绑定到超级方法调用而不是对子进程的调用

时间:2017-08-15 08:43:58

标签: java spring spring-data aop spring-aop

我正在编写方面,我想在执行存储库保存方法后添加一些逻辑。为此,我写道:

@After("execution(* com.myApp.jpa.MyRepository.save(MyEntity)) && args(entity)")

不幸的是,因为我的存储库扩展了: org.springframework.data.jpa.repository.JpaRepository

方面必须:

org.springframework.data.jpa.repository.JpaRepository#save

Iterable实体一起使用,而不是可以通过super方法访问的单个对象:

org.springframework.data.repository.CrudRepository#save(S)

问题是:语法是否提供了在这种情况下编写仅匹配超级方法调用的表达式的方法? 我试过这个:

@After("execution(* com.myApp.jpa.MyRepository.save(..)) && args(entity)")

但是,它适用于这两种方法,而不仅仅是超级呼叫。

0 个答案:

没有答案