java - 如何在从 A "Super"接口(interface)扩展的接口(interface)方法上创建方面

标签 java spring aop aspectj

我有一个从基本接口(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/

相关文章:

spring - 每次我尝试运行我的 Junit 测试用例时都出现 NullPointer 异常

spring - 应用表达式评估请求处理程序建议是否会抑制错误?

spring - AOP中@within和@annotation有什么区别

java - Spring boot & Spring security 总是重定向到 Login

aop - 你能在 Ninject 2 中使用 AOP 吗?

java - 使用java将大型BasicDBObject存储到mongodb时出现异常

java - 从文本文件中逐行读取车辆并将这些车辆传递到 Java 的构造函数中

java - 构建Maven项目: Giving compilation Error

java - 使用 Java 内部类的最佳方式

spring - Controller Spring MVC中的错误处理