Aspect在某些方法中不适用于注释

时间:2019-05-22 13:31:26

标签: java spring annotations aop spring-aop

使用带注释的Aspect时遇到问题。 Aspect方法是在某些方法中触发的,但在某些其他方法中不会触发。 我检查的是方法是公共的,它不起作用的类是@Component。

@Aspect
@Component
public class PrometheusCounterMetricAspect {

  private static final Map<String, Counter> counters = new HashMap<>();

  @Before(
      "execution(* *(..)) && @annotation(package.aspects.PrometheusCounterMetric)")
  void beforeInsert(JoinPoint joinPoint) {
    .....}

这是注释界面

@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.METHOD)
public @interface PrometheusCounterMetric {
  String metricName();
}

在项目中,流程是控制器->服务->存储。尽管它是组件,但它可以在服务中工作,但不能在存储中工作。

0 个答案:

没有答案