遇到一个问题:lombok增加@Accessors(chain = true), 导致apache.commons.beanutils.BeanUtils设置对象字段属性失效
当创建一个对象的时候,想用BeanUtils.setProperty设置对象属性的时候,当对象设置@Accessors(chain = true)的时候,BeanUtils.setProperty不生效。
记录一下。
public static void setFieldName(Object target, String fieldName, Object value) throws NoSuchFieldException, IllegalAccessException, InvocationTargetException {
Class<?> clazz = target.getClass();
//获取属性
Field field = clazz.getDeclaredField(fieldName);
//设置访问权限,私有属性设置为可访问
field.setAccessible(true);
BeanUtils.setProperty(target, fieldName, value);
}