<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    隨筆 - 15, 文章 - 0, 評論 - 5, 引用 - 0
    數據加載中……

    小結 Commons BeanUtils

     

    Commons BeanUtils 的官方網址:http://commons.apache.org/beanutils/

    Commins BeanUtils是針對JavaBeans一般性操作的組件,可以用來對JavaBeans進行復制,屬性的讀取,設置,修改,還以動態構造JavaBeans對象。

    使用這個組件需要三個Jar文件
    其中兩個是 commons-logging-1.1.1下的commons-logging-1.1.1.jar 和commons-logging-api-1.1.1.jar
    剩下一個是   commons-beanutils-1.8.0-BETA   下的commons-beanutils-1.8.0-BETA.jar
    把這三個加入到項目的構件路徑下即可。

    下面為一個簡單的例子

    新建User Profile Address BeanUtilsExample 四個類


    1 User.java

    package com.v503.zhouzhou;

    public class User {
     private Long userId;
     private String username;
     private String password;
     private Profile profile;

     public Long getUserId() {
      return userId;
     }

     public  void setUserId(Long userId) {
      this.userId = userId;
     }

     public String getUsername() {
      return username;
     }

     public void setUsername(String username) {
      this.username = username;
     }

     public String getPassword() {
      return password;
     }

     public void setPassword(String password) {
      this.password = password;
     }

     public Profile getProfile() {
      return profile;
     }

     public void setProfile(Profile profile) {
      this.profile = profile;
     }

    }

    2 Profile.java

    package com.v503.zhouzhou;

    import java.util.Date;
    import java.util.Map;

     

    public class Profile {
     private Map<String, String> phone;
     private Address[] address;
     private Date birthDate;
     private String email;

     public Map<String, String> getPhone() {
      return phone;
     }

     public void setPhone(Map<String, String> phone) {
      this.phone = phone;
     }

     public Address[] getAddress() {
      return address;
     }

     public void setAddress(Address[] address) {
      this.address = address;
     }

     public Date getBirthDate() {
      return birthDate;
     }

     public void setBirthDate(Date birthDate) {
      this.birthDate = birthDate;
     }

     public String getEmail() {
      return email;
     }

     public void setEmail(String email) {
      this.email = email;
     }

    }



    3 Address.java

    package com.v503.zhouzhou;

    public class Address {
     private String postCode;
     private String country;
     private String city;
     private String addr;

     public Address() {

     }

     public Address(String postCode, String country, String city, String addr) {
      this.postCode = postCode;
      this.country = country;
      this.city = city;
      this.addr = addr;
     }

     public String getPostCode() {
      return postCode;
     }

     public void setPostCode(String postCode) {
      this.postCode = postCode;
     }

     public String getCountry() {
      return country;
     }

     public void setCountry(String country) {
      this.country = country;
     }

     public String getCity() {
      return city;
     }

     public void setCity(String city) {
      this.city = city;
     }

     public String getAddr() {
      return addr;
     }

     public void setAddr(String addr) {
      this.addr = addr;
     }

    }



    4 BeanUtilsExample.java


    package com.v503.zhouzhou;

    import java.lang.reflect.InvocationTargetException;
    import java.util.GregorianCalendar;
    import java.util.HashMap;
    import java.util.Map;

    import org.apache.commons.beanutils.BeanUtils;
    import org.apache.commons.beanutils.PropertyUtils;


    public class BeanUtilsExamples {

     @SuppressWarnings("unused")
     private User prepareData() {
      Address[] address = { new Address("111111", "中國", "保定", "河北大學"),
        new Address("22222", "中國", "保定", "河北大學工商學院") };
      Profile profile = new Profile();
      profile.setBirthDate(new GregorianCalendar(1987, 04, 17).getTime());
      profile.setEmail("aa1987417@126.com");
      Map<String, String> phone = new HashMap<String, String>();
      phone.put("mobilephone", "1532222706");
      phone.put("home", "110");
      profile.setPhone(phone);
      profile.setAddress(address);

      User user = new User();
      user.setUserId(new Long(503));
      user.setUsername("zhouzhou");
      user.setProfile(profile);
      user.setPassword("hicc");
      return user;

     }

     public static void main(String[] args) {
      BeanUtilsExamples a = new BeanUtilsExamples();
      User user = a.prepareData();
      System.out.println("輸出對象的屬性值---------------------------------");
      try {
       System.out.println(BeanUtils.getProperty(user, "userId"));       //BeanUtils中讀取屬性的方法getProperty()
       System.out.println(BeanUtils.getProperty(user, "username"));
       System.out.println(BeanUtils.getProperty(user, "password"));
       System.out.println(BeanUtils.getProperty(user, "profile.email"));
       System.out.println(BeanUtils.getProperty(user, "profile.birthDate"));
       System.out.println(BeanUtils.getProperty(user, "profile.phone(home)"));
       System.out.println(BeanUtils.getProperty(user, "profile.phone(mobilephone)"));
       System.out.println(BeanUtils.getProperty(user, "profile.address[0].city"));
       System.out.println(PropertyUtils.getProperty(user, "profile.address[1].country"));
       
       User user2 = new User();
       BeanUtils.copyProperties(user2, user); //BeanUtils中復制屬性的方法getProperty()

       System.out.println("輸出復制屬性的屬性值-------------------------------");
       System.out.println(BeanUtils.getProperty(user, "username"));
       System.out.println(BeanUtils.getProperty(user, "profile.birthDate"));
       System.out.println(BeanUtils.getProperty(user, "profile.phone(home)"));
       System.out.println(BeanUtils.getProperty(user, "profile.address[0].city"));
       
       
       System.out.println("輸出復制屬性修改以后的屬性值---------------------");
       BeanUtils.setProperty(user2, "userId", new Long(8888888));   //設置屬性的方法
       PropertyUtils.setProperty(user2, "username", "周旭");
       BeanUtils.setProperty(user2, "profile.email", "549748067@qq.com");
       BeanUtils.setProperty(user2, "profile.birthDate", new GregorianCalendar(2008, 8, 1).getTime());
       BeanUtils.setProperty(user2, "profile.address[0]", new Address("6666666", "中國","紫園","保定"));
       System.out.println(BeanUtils.getProperty(user2, "userId"));
       System.out.println(BeanUtils.getProperty(user2, "username"));
       System.out.println(BeanUtils.getProperty(user2, "profile"));
       System.out.println(BeanUtils.getProperty(user2, "profile.email"));
       System.out.println(BeanUtils.getProperty(user2, "profile.birthDate"));
       System.out.println(BeanUtils.getProperty(user2, "profile.address[0].city"));

       System.out.println("與被復制屬性值的對象的比較-------------------------------");
       System.out.println(BeanUtils.getProperty(user, "userId"));
       System.out.println(BeanUtils.getProperty(user, "username"));
       System.out.println(BeanUtils.getProperty(user, "profile"));
       System.out.println(BeanUtils.getProperty(user, "profile.email"));
       System.out.println(BeanUtils.getProperty(user, "profile.birthDate"));
       System.out.println(BeanUtils.getProperty(user, "profile.address[0].city"));
      } catch (IllegalAccessException e) {

       e.printStackTrace();
      } catch (InvocationTargetException e) {

       e.printStackTrace();
      } catch (NoSuchMethodException e) {

       e.printStackTrace();
      }

     }

    }


     




     

    posted on 2008-08-01 10:38 zhouzhou@ 閱讀(594) 評論(0)  編輯  收藏


    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    主站蜘蛛池模板: 日韩免费视频一区二区| 日韩免费码中文在线观看| 午夜免费福利片观看| 色久悠悠婷婷综合在线亚洲| 人成电影网在线观看免费| 免费看小12萝裸体视频国产| 暖暖免费中文在线日本| 中文字幕亚洲日本岛国片| 岛国精品一区免费视频在线观看| 亚洲精品国产电影| 99精品免费视品| 亚洲精品私拍国产福利在线| 亚洲免费观看网站| 国产成人亚洲综合网站不卡| 国产免费卡一卡三卡乱码| 深夜福利在线免费观看| 亚洲中久无码永久在线观看同| a级毛片免费全部播放| 亚洲av女电影网| 动漫黄网站免费永久在线观看| 亚洲AV无码一区二区一二区 | 国产香蕉九九久久精品免费| 亚洲综合一区国产精品| 亚洲av午夜成人片精品电影 | 亚洲色偷拍另类无码专区| 久久伊人免费视频| 午夜在线a亚洲v天堂网2019| 四虎永久免费影院| 丁香花在线视频观看免费| 亚洲免费视频观看| 又爽又黄无遮挡高清免费视频| 女同免费毛片在线播放| 亚洲精品无码mⅴ在线观看| 亚洲人成无码www久久久| 18禁止看的免费污网站| 国产亚洲美女精品久久久久| 亚洲av福利无码无一区二区| 青青草国产免费久久久91| 国产精品偷伦视频观看免费| 亚洲а∨天堂久久精品9966| 亚洲日产韩国一二三四区|