6 javaBean的概述和规范:
JavaBean:用于封装数据(标准的类)
1类使用公共进行修饰,2提供私有修饰的成员变量3为成员变量提供公共的getset方法4提供公共无参的构造5 实现序列号接口;序列号接口是 Serializable
7 BeanUtils的概述:Apache commons主要功能是为了简化javaBean封装数据的操作
Void setProperty();设置属性
String getProperty();获取属性
Void populate();
8 BeanUtils的常用方法:
Void setProperty(javaBean的对象,成员变量名,想赋的值);设置属性,给javaBean对象的成员变量进行赋值
String getProperty(javaBean对象,成员变量名);获取对应的成员变量的值,
setProperty 和getProperty方法底层并不是直接操作成员变量,而是操作和成员变量名有关的get和set方法
Void populate(javaBean对象,map k对应成员变量的名字,value对应成员变量对应的值);把map中的映射关系,添加到javabean中,map中有多余的也不会出错
A:获取类的字节码文件(class对象)
类的对象.getClass();
类名.class;
Class.forName(“类的全名称”) // 格式:Class clazz = Class.forName(“类的全名称”);
B:获取构造方法 getDeclaredConstructor
Constructor[] getConstructors()//获取类的所有的公共的构造方法
Constructor getConstructor( .class)//获取类的指定的公共的构造方法
Constructor[] getDeclaredConstructors()//获取类的所有构造方法包括私有的
Constructor getDeclaredConstructor( .class)//获取指定的构造方法,包括私有
newInstance();//使用构造方法,创建对象(获取的是无参就不给参数,获取的是有参构造就给参数)
C:通过类的构造方法获取成员变量 Field fl = 字节码对象.gerDeclaredField();
Field [] getFields();//获取公共的成员变量
Field getField(String); 获取指定的成员变量
Field [] getDeclaredFields();//获取所有成员变量。包含私有
Field getDeclaredField();//获取指定的成员变量,包含私有
使用成员变量
Object get(Object obj)//获取对象obj的当前变量的值
Void set(Object obj .Object value);//设置对象obj的当前变量的值为value
D:暴力访问 setAccessible(true)
setAccessible(true)//当参数为true的时候不检查访问权限,成员变量成员方法构造方法都可以使用这个方法
E:获取成员方法(class)类的方法
Method getMethod(String naem, .class)
Method的方法】
\
通过字节码对象.getMethod(“getName”) 获得方法
Method m = clazz.getMethod("getName");
然后用 方法。Invoke(stu)对象;
Object obj = m.invoke(stu);
Invoke(obj, value);