首页 > 代码库 > commins-beanutils的使用
commins-beanutils的使用
commins-beanutils是通过内省来完成的。
需要两个包:
- commons-beanutils-1.8.3.jar
- commons-logging-1.1.1.jar
JavaBean类:
package cn.zy.study;/** * 提供get和set方法 * 并有一个无参的构造方法 * @author zy * */public class Person { private String name; private int age; private String gender; public Person() { } public String getName() { return name; } public void setName(String name) { this.name = name; } @Override public String toString() { return "Person [name=" + name + ", age=" + age + ", gender=" + gender + "]"; } 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; } }
对bean类的操作
package cn.test;import java.lang.reflect.InvocationTargetException;import java.util.HashMap;import java.util.Map;import org.apache.commons.beanutils.BeanUtils;import org.junit.Test;import cn.zy.study.Person;public class Demo3 { @Test public void fun1() throws ClassNotFoundException, InstantiationException, IllegalAccessException, InvocationTargetException, NoSuchMethodException{ //用Class类的forName方法来获取对应的class对象 String className = "cn.zy.study.Person"; Class clazz = Class.forName(className); //使用clazz对应类的默认构造器创造实例 Object bean = clazz.newInstance(); /**使用beanutils工具设置bean类的属性值, * 所有的属相值都可以设置成String类型,将会自动转换 * 没有设置属性的值将为null */ BeanUtils.setProperty(bean, "name", "Scott"); BeanUtils.setProperty(bean, "age", "17"); System.out.println(bean); //得到bean类的属性值,注意属值都将变成String类型 String name = BeanUtils.getProperty(bean, "name"); String age = BeanUtils.getProperty(bean, "age"); } @Test /** * 将map直接封装到一个bean中 */ public void fun2() throws InstantiationException, IllegalAccessException, InvocationTargetException{ Map<String,String> map = new HashMap(); map.put("name","Scott"); map.put("age","15"); //利用类的class属性来获取Class对象,并创建 Person bean = Person.class.newInstance(); //将map数据填充到Javabean中 BeanUtils.populate(bean, map); System.out.println(bean); }}
commins-beanutils的使用
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。