Day10 SpringAOP
1.SpringAOP基础 切面类
1.1AOP入门程序 @Aspect:当前为切面类 @Around(""):当前AOP针对哪些方法生效
1.2核心概念 连接点、通知方法+切入点表达式=切面、切面类、目标对象 动态代理
生成代理对象,实际调用的是代理对象
2.SpringAOP进阶
2.1通知类型 @Around @PointCut:抽取公共的切点表达式
2.2通知顺序 @Order(数字):控制顺序 前:小的先执行
2.3切入点表达式
2.3.1 execution 可以用逻辑运算匹配多个切入点表达式
2.3.2 @annotation:匹配标识有特定注解的方法 @LogOperation
1.先定义一个LogOperation注解 并加上源注解:@Target(方法) @Retention(运行时)
2.在切面类声明@annotation切入点表达式
3.在应用的方法上加上@LogOperation注解
2.4连接点JoinPoint ProceedingJoinPoint
3.SpringAOP案例
3.1记录操作日志
数据库表operate_log
实体类OperateLog
Mapper接口:OperateLogMapper
引入AOP起步依赖
定义注解:
切面类:OperationLogAspect
在对应方法上加上注解
3.2获取当前登录员工 ThreadLocal
测试:
定义当前线程的成员变量
定义CurrentHolder工具类: