SpringBoot的AOP切面:在晨曦运行期间,动态将某段代码切入到指定位置运行。
前置通知(@Before):在目标方法运行之前运行
后置通知(@After):在目标方法运行结束之后运行(无论方法正常结束还是异常结束)
返回通知(@AfterReturning):在目标方法正常返回之后运行
异常通知(@AfterThrowing):在目标方法出现异常以后运行
环绕通知(@Around):动态代理,手动推进目标方法运行
步骤:
1、定义业务逻辑类、切面类。
2、在切面类配置注解(告诉 Spring 在什么地方切入),以及 @Aspect
3、把业务逻辑类、切面类注册到容器中。
4、开启基于注解的AOP模式:@EnableAspectJAutoProxy
示例:
业务逻辑类:
//除法逻辑
public class MathCalculator {
public int div(int i, int j) {
return i/j;
}
}
切面类(配置注解):
//告诉 spring 这是一个切面类
@Aspect
public class LogAspects