基于AOP实现操作日志的

需求分析 

当我们操作系统时,会去自动去统计系统的操作日志

分析:     1.项目中关于增删改的操作有很多

                2.如果对于每个功能接口方法都去修改,这是比较繁琐的,

解决:使用AOP解决(因为每个接口方法所实现记录日志的代码逻辑是一样的)

            使用@Around环绕通知

                1.方法返回值,是在原始方法执行后才能获取到的。

                2. 方法的运行时长,需要原始方法运行之前记录开始时间,原始方法运行之后记录结束时间。通过 计算获得方法的执行耗时

要匹配业务接口当中所有的增删改的方法,而增删改方法在命名上没有共同的前缀或后缀。此时如果使用execution切入点表达式也可以,但是会比较繁琐。 当遇到增删改的方法名没有规律时,就可以使用 annotation切入点表达式

操作实现

第一步:

新建一个操作日志表

第二步:

可以封装一个与之相关的实体类

第三步:

 在Mapper层写一条新增操作的sql 

我们需要把获取到的数据新增到数据库中

 

第四步:

自定义注解@Log

 在所有Controller层中的增删改方法上添加@Log注解

 第五步:

定义一个切面类 完成记录操作日志的逻辑功能

通过get set方法来进行获取和修改操作人的各项信息,把他存储到数据库中,调用Mapper层的insert方法 把对象传进去

 为了防止该切面方法出现异常导致错误,所以需要进行try catch

在切面方法上使用@Around注解 其属性为@ annotation使用自定义注解@Log的全路径

这样就可以实现系统操作日志的统计了,感兴趣的朋友可以去尝试一下 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值