Можно ли создать AspectJ Pointcut из Pointframework AOP Springframework? - PullRequest
0 голосов
/ 03 мая 2018

У меня есть реализация org.springframework.aop.Pointcut, которая реализовано как:

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

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

Есть ли способ создать pointcut в стиле AspectJ, который использует поведение моего pointcut? Такие как:

@org.aspectj.lang.annotation.Pointcut("getPointcut()")
public void mySillyPointcut() {
}

public org.springframework.aop.Pointcut getPointcut() {
    return new MySillyPointcut();
}

Так что я могу создать совет, который соответствует mySillyPointcut()

@Before("MyPointcuts.mySillyPointcut()")
public void sillyPointcut(JoinPoint joinPoint) {
    LOGGER.info("Hello world!");
}

1 Ответ

0 голосов
/ 09 мая 2018

Когда вы используете выражение AspectJ, оно фактически создает AspectJExpressionPointcut, что является реализацией org.springframework.aop.Pointcut.

Возможно, то, что вы ищете:

  • ваш заказ org.springframework.aop.Pointcut +
  • ваш заказ org.aopalliance.intercept.MethodInterceptor +
  • org.springframework.aop.support.DefaultPointcutAdvisor

Вот пример .

...