JavaBean  是一种具有特定规格的类,主要作用为传递数据,所以其规格是围绕类的属性,为每个属性提供get和set方法。需要注意的 是通过内省 来操作javaBean对象的。使用内省的时候是通过对象的属性名来设置和获得属性值,而属性名的命名规范是与get和set方法名相关联的,在方法名里get之后的字符串为属性名,而不管这个方法操作的属性成员在定义的时候是用的什么名称(标识符)如:getage()(return this.x)方法获取的属性,其定义是int x;但这个javaBean对象对应x的属性名称是age。javaBean规范规定属性名称如果第二个字符是大写就不限定第一个字符的大小写,如果第二个字符是小写,那第一个字符必须也是小写的。
        如果一个对象是javaBean的格式那以javaBean的方式操作它会很方便。以下列举java里使用javaBean的各种方法:
        //使用PropertyDescriptor 
      //设置属性
        PropertyDescriptor pd = new PropertyDescriptor(propertyName,pt1.getClass());
     Method methodGetX = pd.getReadMethod();
     Object retVal = methodGetX.invoke(pt1);
      //使用PropertyDescriptor 
      //获取属性
        PropertyDescriptor pd2 = new PropertyDescriptor(propertyName,pt1.getClass());
        Method methodSetX = pd2.getWriteMethod();
        methodSetX.invoke(pt1,value);
        //使用commons-beanutils.jar包
        //设置
        BeanUtils.setProperty(pt1, "x", "9");//BeanUtils操作属性时都接收字符串类型参数而后内地里转成属性真                        //实类型,BeanUtils可以级联                          //式的操作属性,某个对象的属性也是javaBean格式的可以设置属性的属性。
        PropertyUtils.setProperty(pt1, "x", 9);//PropertyUtils操作属性时接收参数类型和真实属性类型一致
        //获取
        BeanUtils.getProperty(pt1, "birthday.time");
        PropertyUtils.getProperty(pt1, "x");
 

 

 
        
                                               ———————- android培训java培训、期待与您交流! ———————-

版权声明:本文为lcode原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/lcode/articles/2453243.html