一、概述
JavaBean规范
其实就是对定义类的规范
1.私有化成员变量
2.一定要提供一个无参数的构造方法
3.提供对应变量的getter setter方法
4.每一个类作为一个单独的文件,并且使用public修饰当前的类
利用这些规范,可以完成一些普适性的操作。
BeanUtils是一个基于反射的,完成符合javabean规范的类的一些操作
如果想要使用BeanUtils必须使用两个jar
1.commons-beanutils-1.8.3.jar
2.commons-logging-1.1.3.jar
BeanUtils类的常用方法:
BeanUtils.copyProperties(Object dest, Object src);
复制一个符合javabean规范的src源对象里面的内容给也得符合javabean规范dest对象
BeanUtils.setProperty(Object bean, String name, Object value);
给一个符合javabean规范的实体类对属性进行赋值
bean:是一个符合javabean规范的类对象
name:指定成员变量的名字
value:给予成员变量的值
BeanUtils.getProperty(Objec bean, String name );
取值
bean:是一个符合javabean规范的类对象
name:指定成员变量的名字
返回值是获取变量的类型
二、示例:
导入commons-beanutils-1.8.3.jar和commons-logging-1.1.3.jar
Demo1.java
import org.apache.commons.beanutils.BeanUtils;
import java.lang.reflect.InvocationTargetException;
/**
* @author xue_yun_xiang
* @create 2021-03-29-10:46
*/
public class Demo1 {
public static void main(String[] args) throws InvocationTargetException, IllegalAccessException, NoSuchMethodException {
Person person = new Person();
System.out.println(person);//Test1.Person@677327b6
//BeanUtis这个类去设置了一个符合javabean规范的实体类的属性
BeanUtils.setProperty(person,"name","李凯馨");
BeanUtils.setProperty(person,"age",22);
BeanUtils.setProperty(person,"gender",false);
System.out.println(person);//Test1.Person@677327b6
System.out.println(BeanUtils.getProperty(person, "name"));//李凯馨
Person person1 = new Person();
BeanUtils.copyProperties(person1,person);
System.out.println(person1);//Test1.Person@3f91beef
System.out.println(BeanUtils.getProperty(person1, "name"));//李凯馨
System.out.println(BeanUtils.getProperty(person1, "age"));//22
System.out.println(BeanUtils.getProperty(person1, "gender"));//false
}
}