import java.lang.reflect.InvocationTargetException; import java.util.HashMap; import org.apache.commons.beanutils.BeanUtils; /* * BeanUtils:Apache commons提供的一个组件,主要功能就是为了简化JavaBean封装数据的操作 * static void setProperty(Object bean, String name, Object value) * static String getProperty(Object bean, String name) * static void populate(Object bean, Map properties) * * 注意:BeanUtils的setProperty和getProperty方法底层并不是直接操作成员变量,而是操作和成员变量名有关的get和set方法 */ public class BeanUtilsDemo { public static void main(String[] args) throws ReflectiveOperationException { //static void populate(Object bean, Map properties) Person p = new Person(); HashMap<Object, Object> hm = new HashMap<>(); hm.put("name", "尹超"); hm.put("age", "18"); hm.put("gender", "男"); BeanUtils.populate(p, hm); System.out.println(p); //Person [name=尹超, age=18, gender=男] } private static void method() throws IllegalAccessException, InvocationTargetException, NoSuchMethodException { Person p = new Person(); //System.out.println(p); //static void setProperty(Object bean, String name, Object value) :给JavaBean对象的成员变量进行赋值 BeanUtils.setProperty(p, "name", "zhangsan"); //BeanUtils.setProperty(p, "age", 18); //System.out.println(p); //static String getProperty(Object bean, String name) String name = BeanUtils.getProperty(p, "name"); System.out.println(name); } } import java.io.Serializable; import javax.crypto.SecretKey; /* * JavaBean:用于封装数据 * 类使用公共进行修饰 * 提供私有修饰的成员变量 * 为成员变量提供公共getter和setter方法 * 提供公共无参的构造 * 实现序列号接口 * */ public class Person implements Serializable { /** * */ private static final long serialVersionUID = 7465071651404431035L; private String name; private int age; private String gender; public Person() { super(); // TODO Auto-generated constructor stub } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } public String getGender() { return gender; } public void setGender(String gender) { this.gender = gender; } @Override public String toString() { return "Person [name=" + name + ", age=" + age + ", gender=" + gender + "]"; } }
BeanUtils: 简化JavaBean封装数据的操作
猜你喜欢
转载自blog.csdn.net/ludadan/article/details/80014903
今日推荐
周排行