Heis的Blog

          保持簡單,保持愚蠢
          隨筆 - 29, 文章 - 1, 評論 - 122, 引用 - 0
          數據加載中……

          Jakarta Commons Cookbook讀書筆記--Commons BeanUtils(2)

          Jakarta Commons Cookbook讀書筆記系列

          2.2 org.apache.commons.beanutils.BeanComparator比較Bean屬性

          排序前

          Book book
          |--List authors
                    |--[0]->Person person1
                                    |--String name->"LiLei"
                    |--[1]->Person person2
                                    |--String name->"Ark"
                    |--[2]->Person person3
                                    |--String name->"HanMeimei"
                                   
          Comparator nameComparor=new BeanComparator("name");
          Collections.sort(book.getAuthors(),nameComparor);


          排序后
          Book book
          |--List authors
                    |--[0]->Person person1
                                    |--String name->"Ark"
                    |--[1]->Person person2
                                    |--String name->"HanMeimei"
                    |--[2]->Person person3
                                    |--String name->"LiLei"

          2.3 org.apache.commons.beanutils.collections.BeanMap 使用Map封裝Bean
          封裝屬性
          Person person=new Person();
          person.setName(
          "Heis");
          person.setAge(
          50);
          Map beanMap
          =new BeanMap(person);

          Map beanMap
                
          |--Entry(key->"name",value->"Heis")
                
          |--Entry(key->"age",value->Integer(50))

               
          getReadMethod(),getWriteMethod()取讀方法與寫方法
          BeanMap beanMap=new BeanMap(person);
          Method wMethod
          =beanMap.getWriteMethod("age");
          wMethod.invoke(person,
          new Integer(24));
          Method rMethod
          =beanMap.getReadMethod("age");
          rMethod.invoke(person);
          ->24

          2.4 使用org.apache.commons.beanutils.DynaBean接口,可以在運行時創建動態Bean,而且創建的動態bean可以與BeanUtils包內的工具(如PropertyUtils等)結合使用。
          DynaProperty[] beanProperties=new DynaProperty[]{
          new DynaProperty("name",String.class),
          new DynaProperty("age",Integer.class)};
          //BasicDynaBean implements DynaBean
          BasicDynaClass personClass=new BasicDynaClass("person",BasicDynaBean.class,beanProperties);
          DynaBean person
          =BasicDynaClass.newInstance();
          //set the properties
          person.set("name","Heis");
          PropertyUtils.setProperty(person,
          "age",new Integer(50));


          2.5 使用BeanUtils以字符串形式訪問屬性
          String ageStr=BeanUtils.getProperty(person,"age");
          BeanUtils.setProperty(person,
          "age","50");

          Jakarta Commons Cookbook讀書筆記系列



          程序員的一生其實可短暫了,這電腦一開一關,一天過去了,嚎;電腦一開不關,那就成服務器了,嚎……

          posted on 2009-11-24 10:19 Heis 閱讀(1480) 評論(0)  編輯  收藏 所屬分類: Jakarta Commons Cookbook讀書筆記

          主站蜘蛛池模板: 曲麻莱县| 松溪县| 甘肃省| 修水县| 武强县| 资溪县| 乌兰县| 博客| 南和县| 阳东县| 蒙山县| 志丹县| 曲阳县| 亚东县| 韩城市| 五家渠市| 巩留县| 海门市| 阜城县| 毕节市| 天柱县| 仁怀市| 永春县| 南京市| 水富县| 敦化市| 阿克苏市| 大关县| 大宁县| 普格县| 新宾| 蕉岭县| 页游| 周宁县| 勐海县| 从江县| 育儿| 安国市| 忻州市| 阳高县| 富锦市|