原来报错的代码:
@Aspect
@Component
public class MyLog {
//创建日志对象
Logger logger=Logger.getLogger(MyLog.class);
@Pointcut("execution(* *.*.service.Impl.*.*(..))")
public void method(){}
@Around("method()")
public Object around(ProceedingJoinPoint joinPoint) throws Throwable {
long time = new Date().getTime();
joinPoint.proceed();
long time1 = new Date().getTime();
long l = time1 - time;
logger.info(logger.getName()+"方法调用完成的时间为:"+l+"毫秒");
return joinPoint;
}
}
在这里插入图片描述
报错原因直接返回了joinPoint,修改后的代码:
@Aspect
@Component
public class MyLog {
//创建日志对象
Logger logger=Logger.getLogger(MyLog.class);
@Pointcut("execution(* *.*.service.Impl.*.*(..))")
public void method(){}
@Around("method()")
public Object around(ProceedingJoinPoint joinPoint) throws Throwable {
long time = new Date().getTime();
Object proceed = joinPoint.proceed();//获得当前对象的反射克隆对象,反射执行需要执行的方法
long time1 = new Date().getTime();
long l = time1 - time;
logger.info("方法调用完成的时间为:"+l+"毫秒");
return proceed;
}
}
在这里插入图片描述
文章评论