如:bean 有 name,age 两个属性,原记录值是 name:a,age:20,有人修改成了 name:b,age:21,系统要记录何人何时何地做了什么修改(“管理员,07-29 15:00,ip:1.1.1.1 ”修改内容:“ name:a->b,age:20->21 ”);
硬编码要改太多了,想问问大家有没有低入侵,注解的方法实现,谢谢!
硬编码要改太多了,想问问大家有没有低入侵,注解的方法实现,谢谢!

1 msaionyc Jul 29, 2019 Spring AOP,对特定的方法名进行拦截,通过获取参数就可以判断这些了 直接注解就可以用,就一个类 |
2 sesmond Jul 29, 2019 这不很容易么,要在 service 层拦截直接加注解然后更新前查询出来比较下。 要在 dao 层拦截那如果 mybatis 的话就用 mybatis 拦截器直接控制。 取用户也直接用 HttpServiletRequest 取出来 |
3 gz911122 Jul 29, 2019 数据库抽象出个服务对外提供修改 不直接修改数据库 服务修改数据库的时候记录修改内容和调用方 |
4 stevenkang Jul 29, 2019 |
5 ourslay Jul 29, 2019 MDC 了解下? |
6 StevenTong Jul 29, 2019 前后对象都转成 json 然后用 jsondiff 库判断一下变更? |
7 chocotan Jul 29, 2019 JaVers Object auditing and diff framework for Java https://javers.org |
8 linuxsteam Jul 30, 2019 via Android 我用反射写过 aop 没用过 我遇到的问题就是很二的用 if 处理 string 转成 bigdecal 的转换 |
9 linuxsteam Jul 30, 2019 via Android @chocotan 大佬的回复 符合要求 有没有中文相关例子啊 百度发现例子太少了 |
10 razertory Jul 30, 2019 我之前的做法是,在 API 层设置了两个切入点。分别在调用 service 之前和之后都获取当时的系统快照,随后异步处理两个快照产生日志 |