A New Start

利用AOP+反射实现保存数据时自动修改属性(如修改时间)

一、背景

    在对一个老项目进行二期的开发时,发现很多实体类并没有这是创建时间、修改时间等属性,所以打算着实解决之。由于 DAO 层是使用的 JPA 来实现的,并且不想对 DAO 层进行大改刀,遂决定利用 AOP 进行封装以下 DAO 层的的所有 save() 方法。

二、实现

    实现其实很简单,由于偷懒,不想去自定义注解,所以就写了个 AOP 来监测 DAO 层的所有方法,对其参数进行修改,利用的反射的原理,获得对应的 set 方法,然后用该方法对修改时间和修改人进行重新赋值,简版的实现逻辑很简单,源码如下:

三、弊端

    首先是执行效率较原来低了一点点,

点赞

发表评论

电子邮件地址不会被公开。 必填项已用*标注