记录字段修改前后变化
Yohann-study
工具类完整代码
思路
- 传入原对象和目标对象,对比两者字段名相同的属性值
- 生成修改前后数据对比集合
定义字段转换器接口规范
/**
* 日志属性转换器
*/
public interface LogPropertyConverter {
/**
* 转化成日志
*
* @param value 字段值
* @return 原字段值/转化后的值
*/
Object convert(Object value);
}
定义标记注解
/**
* 字段标记注解
*/
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.FIELD)
public @interface LogProperty {
/**
* @return 日志属性名
*/
String value();
/**
* @return 日志属性转换器class
*/
Class<? extends LogPropertyConverter> converter() default DefaultLogPropertyConvert.class;
class DefaultLogPropertyConvert implements LogPropertyConverter {
@Override
public Object convert(Object value) {
return value;
}
}
}