Springboot+Aop实现操作日志

描述一下我借鉴海涛大佬的思想

1.先写一个类,定义一个全局变量HashMap,然后为key-value提供get,set方法
2.写一个类实现CommandLineRunner接口(伴随Springboot启动时初始化资源),将接口名和接口描述来存放到之前定义的类中。
3.写一个切面类,用来匹配所有请求方法,将用户,操作(方法的描述),时间写入到数据库中。
PS: requestMappingHandlerMapping 对象可以获取所有处理器方法
然后通过每个方法的注解内容来获取接口描述
这个注解你可以自定义,若你正好使用Swagger正好可以利用Swagger的注解,这样也是一举两得。(自定义注解的简单实现我之前文章有)
废话不多说,上实例

自定义InterfaceMapCache类

在这里插入图片描述

初始化接口资源(实现CommandLineRunner)

在这里插入图片描述
在这里插入图片描述

利用aop实现操作记录

在这里插入图片描述

在这里插入图片描述

为什么不再方法前,或方法后执行?
就是因为无论执行成功失败与否,都会执行(归根结底不可获取返回结果动态判断是否执行成功)

获取user信息解决方案:
1,登陆时存放到session,从Session中获取当前用户信息
2,前端每次请求时将用户id存放到header中,后端取出即可,取出方法

在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值