我有一个从基本接口(interface)扩展而来的服务层接口(interface);我想在我的服务层接口(interface)周围创建一个切入点,但是在基本接口(interface)中定义的方法之一上。
例如....我的基础接口(interface)中有一个名为“save()”的方法,我把它放在我的基础接口(interface)中,因为我所有的“子”接口(interface)都将提供“保存”功能。
我想在调用我的“保存”时仅在我的一个“子”接口(interface)上创建一个切入点。
我创建了如下切入点:
@Pointcut("execution(* com.xyz.someapp.ChildServiceInterface.save(..))")
public void childServiceSavePointCut();
然后我围绕上述切入点创建了一个@Around 建议,如下所示:
@Around("childServiceSavePointCut()")
public void doMyAdvice()....
其中“ChildServiceInterface”扩展了另一个定义了“save()”方法的接口(interface)。
我的建议从未运行...我调试了我的代码,但在我的目标服务的顾问列表中没有看到我的建议。
我是否认为这会起作用,还是我执行不正确?
最佳答案
试试这个切入点。
within(com.xyz.someapp.ChildServiceInterface+) && execution(* save(..))
+
表示 subtype pattern .
关于java - 如何在从 A "Super"接口(interface)扩展的接口(interface)方法上创建方面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4958400/