【发布时间】:2016-03-23 10:18:05
【问题描述】:
我需要为用@X 注释的类中的方法或用@X 注释的方法的切入点。我还需要注释对象。如果类和方法都被注释了我更喜欢将方法注释作为参数。
我尝试了以下方法,这会产生“不一致的绑定”警告。 (为什么不直接将它们设置为 null?)
@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)")
但我不想这样做。
有没有“一个切入点,一个方法,一个注解参数”,不需要反射的我的需求的解决方案?
【问题讨论】:
标签: java spring aop spring-aop