是否可以从Springframework AOP Pointcut创建AspectJ Pointcut?

时间:2018-05-03 13:51:47

标签: java spring-aop

我有obj[1]的实现,这是 实施为:

org.springframework.aop.Pointcut

有没有办法创建一个使用我的切入点行为的AspectJ样式切入点?如:

public class MySillyPointcut implements org.springframework.aop.Pointcut {
    @Override
    public ClassFilter getClassFilter() {
        return ClassFilter.TRUE;
    }

    @Override
    public MethodMatcher getMethodMatcher() {
        return MethodMatcher.TRUE;
    }
}

这样我就可以创建一个匹配@org.aspectj.lang.annotation.Pointcut("getPointcut()") public void mySillyPointcut() { } public org.springframework.aop.Pointcut getPointcut() { return new MySillyPointcut(); }

的建议
mySillyPointcut()

1 个答案:

答案 0 :(得分:0)

当您使用AspectJ表达式时,它实际上是创建AspectJExpressionPointcut,这是org.springframework.aop.Pointcut的实现。

也许您正在寻找的是:

  • 您的自定义org.springframework.aop.Pointcut +
  • 您的自定义org.aopalliance.intercept.MethodInterceptor +
  • org.springframework.aop.support.DefaultPointcutAdvisor

此处an example