通過反射判斷修改類時字段內容是否改變,通過自定義註解過濾不需要判斷的字段

Field[] fields = SmsMode.class.getDeclaredFields();//反射獲取類中所以字段

for (Field field : fields) {//循環判斷類中字段是否有SmsModeComment自定義註解

    boolean putMapping = field.isAnnotationPresent(SmsModeComment.class);
    if (putMapping) {
        continue;
    }
    String oldProperty = BeanUtils.getProperty(smsModeOld, field.getName());
    String newProperty = BeanUtils.getProperty(smsMode, field.getName());

    if (StringUtils.isNotEmpty(oldProperty) && !oldProperty.equals(newProperty)) {
        //字段內容不一樣進行修改操作

    }
}

自定義註解類

@Target({ElementType.FIELD})
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface SmsModeComment{

}

類中註解

@SmsModeComment
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章