一.BeanInfo
1.BeanInfo是JavaBean类的信息类,一个javaBean的信息封装在对应beanInfo对象中
2.要获取到beanInfo,一般通过一个内省类Introspector的一个方法getBeanInfo(Class<T> beanClass),给个javaBean的类型就会返回对应的beanInfo对象,该方法的底层就是通过反射实现的
3.Bean常用的方法:
1.MethodDescriptor[] getMethodDescriptors():获取到javaBean对象的方法描述符对象的数组,
2.PropertyDescriptor[] getPropertyDescriptors():获取到javaBean对象的属性描述符对象的数组,有了PropertyDescriptor对象我们就可以获取到读写(get/set)的方法了,有了方法我们就可以通过反射来调用该方法了
3.流程如图:
二.BeanUtils
1.有两个jar包已经封装好了上面内省的机制:
commons-beanutils(里面依赖的是内省)和commons-logging两个jar包,所以上面流程图的操作不需要我们做了
2.beanUtils下有三个方法非常方便:
(1)void setProperty(bean, name, value):第一个参数是javaBean对象,二是属性名,三是属性值
(2)String getProperty(bean, name):第一个参数是javaBean对象,二是属性名
(3)void populate(bean, map):把一个map的属性封装到bean对象中,map的Key属性名必须跟bean中属性的名称一样,两者都相同
3.当对javaBean对象操作时,很多时候我们会用到BeanUtils