功能概述
公司系统需要增加操作记录功能,包括编辑页面内容调整和列表页的任务分配、任务启禁用记录,记录最近一周(前6天0点-当天当前时间点)的操作记录。
思路
直接在代码中拦截工作量大,且代码侵入性高,想到用对代码侵入性较小的AOP来实现此功能。
配置文件
spring-mvc.xml中配置包扫描和aop支持
1 | <context:component-scan base-package="xxx.xxx.xxx" /> |
数据库表设计
1 | CREATE TABLE `task_operate_log` ( |
日志实体类
1 | public class TaskOperateLogEntity implements Serializable { |
创建处理日志的切面类
1 |
|
自定义注解类
1 | (value = { ElementType.METHOD }) |
要记录日志的Controller方法
这里只列举一个方法,其他需要记录操作日志的方法加上@OperateLog自定义注解即可
1 | "/createTask.do") ( |
业务层
数据库insert操作,dalClient封装的是持久层CRUD方法
1 | "taskOperateLogBusiness") ( |
效果
当发生新增、修改、删除等操作时,记录入表
