首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >AspectJ,SpringAOP,方面运行两次

AspectJ,SpringAOP,方面运行两次
EN

Stack Overflow用户
提问于 2018-05-17 09:23:03
回答 1查看 1K关注 0票数 2

我的方面运行了两次,我不知道为什么。也许有人能指出我的错误?这是一个代码:

  1. 为切入点创建注释 @RetentionPolicy.RUNTIME) @Target({ElementType.METHOD})公共@接口CustodianMetrics { String metricId();}
  2. 创建一个方面 @方面@Component(" CustodianMetricsAspect ")公共类CustodianMetricsAspect{专用的最终MonitoringService monitoringService;@Autowired CustodianMetricsAspect(MonitoringService monitoringService) { this.monitoringService = monitoringService;}}CustodianMetrics custodianMetricsAnnotation(CustodianMetrics custodianMetricsAnnotation) {计数器度量= monitoringService.metric(custodianMetricsAnnotation.metricId(),Counter.class;metric.inc();}}
  3. 为spring配置xml
EN

回答 1

Stack Overflow用户

发布于 2018-05-17 09:33:09

之所以会发生这种情况,是因为您已经对方面进行了两次配置-- Spring配置和@Aspect注释。

请阅读Spring框架文档8.1.2 Spring功能和目标节中的说明,说明如下:

与本章相关的一种选择是选择哪种AOP框架(以及哪种AOP风格)。您可以选择AspectJ和/或Spring,也可以选择@AspectJ注释样式的方法或Spring配置风格的方法。

在这种情况下,根据我个人的经验,我强烈建议您坚持使用注释。然而,这取决于你的个人品味。您可能会发现8.4选择使用哪种AOP声明样式是相关的。

编辑:如果您选择基于注释的配置,不要忘记创建一个Java类,而不是已删除的<aop:aspectj-autoproxy>...行。

代码语言:javascript
复制
@Configuration
@EnableAspectJAutoProxy
public class AspectJAutoProxyConfiguration { }
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50387845

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档