Spring boot 弹簧靴方面@周围

Spring boot 弹簧靴方面@周围,spring-boot,aspectj,Spring Boot,Aspectj,我使用SpringBoot&尝试记录每个请求的响应时间。 出于这个目的,我正试图“绕过”这个方面。 代码: 代码会被编译,但问题是当我执行任何控制器方法时,什么都不会发生。我的意思是我的SOP应该被打印出来,但是他们没有。 我错过了什么?这个怎么样 @Pointcut("@annotation(org.springframework.web.bind.annotation.RequestMapping)") public void requestMapping() {} @Pointcut("

我使用SpringBoot&尝试记录每个请求的响应时间。 出于这个目的,我正试图“绕过”这个方面。 代码:

代码会被编译,但问题是当我执行任何控制器方法时,什么都不会发生。我的意思是我的SOP应该被打印出来,但是他们没有。 我错过了什么?

这个怎么样

@Pointcut("@annotation(org.springframework.web.bind.annotation.RequestMapping)")
public void requestMapping() {}

@Pointcut("within(path.to your.controller.package.*)")
public void myController() {}

@Around("requestMapping() || myController()")
public void logAround(ProceedingJoinPoint joinPoint) throws Throwable {
   ...............
   joinPoint.proceed();
   ...............
}

如何在控制器中配置端点?您是否使用@RequestMapping?是的,当我将@指向我的控制器时,同样的代码也在工作,似乎我无法劫持对DispatcherServlet的请求?因为您告诉它什么也不做,所以什么也没有发生。你的方面基本上破坏了呼叫链。无论实际调用做了什么,您总是返回void。
@Around
方面应始终返回调用
继续()
的结果,因此应返回
对象
,而不是
无效
。另外,当您使用Spring Boot时,只需放弃该特性,并包括
Spring Boot starter执行器
,它已经为您提供了这些指标(以及更多指标)。它是否准确?我的意思是它将排除服务方法执行的大量开销?我已经用它计算了响应时间,并将其与致动器进行比较,存在时间差异,我认为这并不重要。可以使用的时间差是多少?组合版本:@Pointcut(“在(path.to.controller..*)”+“&&&@annotation(org.springframework.web.bind.annotation.RequestMapping)”)public void controllermethodnotatedwithrequestmapping(){}
@Pointcut("@annotation(org.springframework.web.bind.annotation.RequestMapping)")
public void requestMapping() {}

@Pointcut("within(path.to your.controller.package.*)")
public void myController() {}

@Around("requestMapping() || myController()")
public void logAround(ProceedingJoinPoint joinPoint) throws Throwable {
   ...............
   joinPoint.proceed();
   ...............
}