生成一个工具类,传递list集合(属性名称),用来实现为bean设置动态属性。属性设置完成后通过beanUtils来为属性赋值
时间: 2024-05-15 18:19:41 浏览: 48
Spring-BeanUtils工具类
以下是一个示例工具类,可以根据传入的属性名称列表动态设置bean的属性:
```
import org.apache.commons.beanutils.BeanUtils;
import java.lang.reflect.InvocationTargetException;
import java.util.List;
public class BeanPropertyUtils {
/**
* 为bean设置动态属性
*
* @param bean 要设置属性的bean对象
* @param propertyList 属性名称列表
* @param value 属性值
*/
public static void setDynamicProperty(Object bean, List<String> propertyList, Object value)
throws IllegalAccessException, InvocationTargetException {
for (String property : propertyList) {
BeanUtils.setProperty(bean, property, value);
}
}
}
```
使用示例:
```
// 创建一个Person对象
Person person = new Person();
// 设置属性名称列表
List<String> propertyList = Arrays.asList("name", "age");
// 设置属性值
String value = "Tom";
// 为bean设置动态属性
BeanPropertyUtils.setDynamicProperty(person, propertyList, value);
// 输出属性值
System.out.println(person.getName()); // 输出Tom
System.out.println(person.getAge()); // 输出null(如果age属性是字符串类型,输出null;如果是int类型,输出0)
```
阅读全文