将Spring AOP注释导入到单独的项目中

时间:2019-07-07 14:07:46

标签: java spring maven aop aspectj

我有两个项目。一个是Spring Boot服务,另一个是使用Spring AOP的库。我创建了一个自定义注释,只要使用该自定义注释对方法进行注释,便可以执行该自定义注释。因为我希望此批注可用于许多服务,所以它位于库中。我的代码如下所示:

服务:

@MyCustomAnnotation
  public void doSomething() {
    log.info("Do something is invoked!");
  }
@EnableAspectJAutoProxy
public class ApplicationConfig {
...
}

图书馆:

@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.METHOD)
public @interface MyCustomAnnotation {
...
}
@Aspect
public class ContinueTraceFromSpringKafkaEventAspect {

    @Pointcut("@annotation(MyCustomAnnotation)")
    public void executeMyCustomAnnotation() { }

    @Before("executeMyCustomAnnotation()")
    public void beforeAnnotation(JoinPoint joinPoint) {
        log.info("Before annotation");
    }

    @After("executeMyCustomAnnotation()")
    public void afterAnnotation(JoinPoint joinPoint) throws Throwable {
        log.info("After annotation");
    }
}

当代码位于服务内部时,注释将成功执行,但是自从将其提取到库(并通过Maven依赖项将库置于服务的类路径上)以来,注释就没有执行-我怀疑切入点表达式需要修改。

有什么想法吗?

0 个答案:

没有答案