

AOP是一种编程思想,而spring框架对这种思想进行实现,那我们学习的就是SpringAOP.
AOP是面向切面编程
AOP快速入门:
1.引入AOP依赖


入门程序:
java
package com.itheima.aop;
import lombok.extern.slf4j.Slf4j;
import org.aspectj.lang.ProceedingJoinPoint;
import org.aspectj.lang.annotation.Around;
import org.aspectj.lang.annotation.Aspect;
import org.springframework.stereotype.Component;
@Aspect //表示当前为AOP类
@Component
@Slf4j
public class RecordTimeAspect {
@Around("execution(* com.itheima.service.impl.*.*(..))")
public Object recordTime(ProceedingJoinPoint pjp) throws Throwable {
//1.记录方法运行时间
long begin = System.currentTimeMillis();
//2.执行原始的方法
Object result = pjp.proceed();
//3.记录方法的结束时间,记录耗时
long end = System.currentTimeMillis();
log.info("方法{}执行耗时:{}ms",pjp.getSignature(),end-begin);
return result;
}
}