gpt4 book ai didi

java - 接口(interface)注释未触发 AspectJ 注释切入点

转载 作者:行者123 更新时间:2023-11-30 11:52:55 25 4
gpt4 key购买 nike

如何创建一个切入点来匹配用注解注解的方法或其接口(interface)方法用注解注解的方法?

public interface IService {
@SomeAnnotation
public void someMethod() { ... }
}

public class Service implements IService {
public void someMethod() { ... }
}

我正在使用 Spring AOP 进行 AspectJ 自动代理。但是,如果我定义一个切入点,如

execution(public * *(..)) && @annotation(SomeAnnotation)

建议不适用于服务的 someMethod 方法。

匹配该方法的正确切入点是什么,仅使用接口(interface)方法上有注释这一事实?是否可以?

如果我将注解放在服务的 someMethod 方法上,上面的切入点就可以工作,但在我的例子中,这不是一个好的解决方案,因为注解是契约的一部分,因此必须是接口(interface)的一部分,而不是执行。

最佳答案

根据 Java 5 规范,非类型注解不会被继承,类型上的注解只有在具有 @Inherited 元注解时才会被继承。

http://www.eclipse.org/aspectj/doc/released/adk15notebook/annotations-pointcuts-and-advice.html#annotation-inheritance-and-pointcut-matching

关于java - 接口(interface)注释未触发 AspectJ 注释切入点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6594457/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com