java aop做一个接口耗时的计算

看代码:

@Aspect
@Component
public class TimeCostAspect {
    private static Logger logger = LoggerFactory.getLogger(TimeCostAspect.class);
    private static final String POINT = "execution (* com.ming..*.controller..*.*(..))";

    @Pointcut(POINT)
    public void performance() {
    }

    @Around("performance()")
    public Object watchPerformance(ProceedingJoinPoint joinPoint) throws Throwable {
        Object obj = null;
        Object[] args = joinPoint.getArgs();
        long startTime = System.currentTimeMillis();
        obj = joinPoint.proceed(args);
        if (!(obj instanceof BaseVO)) {
            return obj;
        }
        long endTime = System.currentTimeMillis();
        BaseVO baseVO = (BaseVO) obj;
        baseVO.setCost(endTime - startTime);
        return baseVO;
    }
}

猜你喜欢

转载自www.cnblogs.com/huzi007/p/8962545.html
今日推荐