import org.aspectj.lang.JoinPoint;
import org.aspectj.lang.annotation.*;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Component;
@Component
@Aspect
public class ServiceAspect {
private Logger logger = LoggerFactory.getLogger(ServiceAspect.class);
private String methodName;
private long startTime;
/**
* 拦截service层方法
*/
@Pointcut("execution(* com.mx.jss.service.*.*(..))")
public void servicePointCut() {
}
@Before("servicePointCut()")
public void doServiceBefore(JoinPoint joinPoint) {
methodName = joinPoint.getSignature().getDeclaringTypeName() + "." + joinPoint.getSignature().getName();
startTime = System.currentTimeMillis();
}
@After("servicePointCut()")
public void doServiceAfter() {
long E_time = System.currentTimeMillis() - startTime;
logger.info("执行 " + methodName + " 耗时为:" + E_time + "ms");
}
}