26 lines
693 B
Java
26 lines
693 B
Java
package org.baeldung;
|
|
|
|
import org.aspectj.lang.ProceedingJoinPoint;
|
|
import org.aspectj.lang.annotation.Around;
|
|
import org.aspectj.lang.annotation.Aspect;
|
|
import org.springframework.stereotype.Component;
|
|
|
|
@Aspect
|
|
@Component
|
|
public class ExampleAspect {
|
|
|
|
@Around("@annotation(LogExecutionTime)")
|
|
public Object logExecutionTime(ProceedingJoinPoint joinPoint) throws Throwable {
|
|
final long start = System.currentTimeMillis();
|
|
|
|
final Object proceed = joinPoint.proceed();
|
|
|
|
final long executionTime = System.currentTimeMillis() - start;
|
|
|
|
System.out.println(joinPoint.getSignature() + " executed in " + executionTime + "ms");
|
|
|
|
return proceed;
|
|
}
|
|
|
|
}
|