BeanUtil简单应用分析
一切以实例为中心才能得到答案,所以动手分析了一下,
Person类:就是一些简单的属性 package com.vogoal.util;
public class person {
private String name;
private String email;
private String sex;
private String age;
public String getName() {
return name;
}
public person() {
super();
}
public person(String name, String email, String sex, String age) {
super();
this.name = name;
this.email = email;
this.sex = sex;
this.age = age;
}
public void setName(String name) {
this.name = name;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
public String getAge() {
return age;
}
public void setAge(String age) {
this.age = age;
}
}
persontest类:
package com.vogoal.util;
public class persontest {
private String name1;
private String age;
/**
* @return the name1
*/
public String getName1() {
return name1;
}
public persontest() {
super();
}
public persontest(String name1, String age) {
super();
this.name1 = name1;
this.age = age;
}
/**
* @param name1 the name1 to set
*/
public void setName1(String name1) {
this.name1 = name1;
}
/**
* @return the age
*/
public String getAge() {
return age;
}
/**
* @param age the age to set
*/
public void setAge(String age) {
this.age = age;
}
}
test类:
public void testBeanUtil(){
person p=new person("test1", "test1", "男", "22");
persontest pt=new persontest();
BeanUtils.copyProperties(p, pt);
System.out.println(pt.getName1());
System.out.println(pt.getAge());
}
以上说明: getName得不到值而age得到了值,说明BeanUtil中的copy是通过反射来实现属性的赋值先找到文件有没有想同的属性,有了则赋值,没有则不赋值。。。。
补充说明:不是根据属性而是根据它的set方法来进行查找赋值的,如果没有setName1改成setName就可以得到值