带批注方法或带批注类中的方法的切点
2022-09-02 20:54:28
我需要为用@X注释的类中的方法或用@X注释的方法提供切点。我还需要注释对象。如果类和方法都带有注释,我更喜欢将方法注释作为参数。
我尝试了以下方法,这会产生“绑定不一致”警告。(为什么不直接将它们设置为空?
@Around("@annotation(methodLevelX) || @within(classLevelX)")
public Object advise(ProceedingJoinPoint pjp, X methodLevelX, X classLevelX)
下面创建一个“参数 x 在切入点的 '||' 上的不明确绑定”警告。(在我看来,这不一定有意义:为什么不绑定第一个短路评估?
@Around("@annotation(x) || @within(x)")
public Object advise(ProceedingJoinPoint pjp, X x)
如果存在类和方法批注,则将上一次尝试拆分为两次自然会导致两个方法调用。
我知道我可以通过反射和我想要的注释来获得方法和类,并带有这样的切点:
@Around("@annotation(com.package.X) || @within(com.package.X)")
但我不愿意。
是否有任何“一个切入点,一种方法,一个注释参数”,用于我的要求的解决方案,不需要反射?