Java 动态修改 实体类的注解值
实体类
@Data
public class RsPersonalHolidayExcel {
@Excel(name = "月份",isColumnHidden = false)
private String particularMonths;
}
修改注解值
Field file= RsPersonalHolidayExcel.class.getDeclaredField("particularMonths");
Excel annotation = file.getAnnotation(Excel.class);
InvocationHandler h = Proxy.getInvocationHandler(annotation);
Field hField = h.getClass().getDeclaredField("memberValues");
hField.setAccessible(true);
Map memberValues = (Map) hField.get(h);
memberValues.put("isColumnHidden", false);
注: 注解值被修改后将永久生效, 下次使用时如果希望属性值 为初始值, 那么需要重新修改 注解值