Java工具類BeanUtils庫(kù)介紹及實(shí)例詳解-創(chuàng)新互聯(lián)

BeanUtils工具由Apache軟件基金組織編寫,提供給我們使用,主要解決的問題是:把對(duì)象的屬性數(shù)據(jù)封裝到對(duì)象中。

創(chuàng)新互聯(lián)公司-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性價(jià)比江津網(wǎng)站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫(kù),直接使用。一站式江津網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋江津地區(qū)。費(fèi)用合理售后完善,10多年實(shí)體公司更值得信賴。

在整個(gè)J2EE的編程過程中,我們經(jīng)常會(huì)從各種配置文件中讀取相應(yīng)的數(shù)據(jù),需要明白的一點(diǎn)是從配置文件中讀取到的數(shù)據(jù)都是String,但是很顯然我們的應(yīng)用程序中不僅僅有String一種數(shù)據(jù)類型,比如:基本數(shù)據(jù)類型(int、double、char、float等),還有自定義數(shù)據(jù)類型(引用數(shù)據(jù)類型),

那么我們必須面臨的一個(gè)問題就是講字符串類型轉(zhuǎn)換為各種具體的數(shù)據(jù)類型,該怎么辦呢?

有兩種方法供我們是使用:

  • 首先判斷需要的數(shù)據(jù)類型,然后對(duì)字符串類型調(diào)用相應(yīng)的方法,將其轉(zhuǎn)換為我們想要的類型
  • 使用BeanUtils工具

對(duì)于上面提到的兩種方法,我們分析第一種存在的問題是太過于繁瑣,每次都要進(jìn)行大量的類型轉(zhuǎn)換,Apache軟件基金會(huì)給我們提供了第二種方法,使用其提供的BeanUtils工具,具體的說只需要知道其中的兩個(gè)方法就能實(shí)現(xiàn)類型的轉(zhuǎn)換,很簡(jiǎn)單,降低了編程的難度。

導(dǎo)入包

很明顯,要想使用別人開發(fā)的工具必須將其jar包導(dǎo)入到程序中,但是BeanUtils包存對(duì)另外一個(gè)軟件包的依賴,下面將具體的顯示jar包的名字,其中的版本號(hào)不一定與我使用的相同。

commons-beanutils-1.9.2.jar

commons-logging.jar

請(qǐng)下載最新的版本,并把相應(yīng)的jar包導(dǎo)入到程序中,具體導(dǎo)入jar包的方法在這里就不做任何的介紹了,這屬于最基本的知識(shí),只要你在從事Java EE的項(xiàng)目開發(fā),幾乎每天都會(huì)遇到各種不同的jar包的導(dǎo)入。

在開始編寫具體的代碼之前,請(qǐng)將source導(dǎo)入到程序中,否則將不能生成正確的重載函數(shù),只需要使用吧Attach Source,將jar包(使用外部文件的方式導(dǎo)入,不要使用外部文件夾的方式導(dǎo)入)導(dǎo)入即可。

使用

Beanutils工具在使用時(shí)幾乎只用到以下幾個(gè)方法,其中一個(gè)方法通常情況下都是使用匿名內(nèi)部類。

  • BeanUtils.setProperty(bean, name, value);其中bean是指你將要設(shè)置的對(duì)象,name指的是將要設(shè)置的屬性(寫成”屬性名”),value(從配置文件中讀取到到的字符串值)
  • BeanUtils。copyProperties(bean, name, value),和上面的方法是完全一樣的。使用哪個(gè)都可以
  • ConvertUtils.register(Converter converter , ..),當(dāng)需要將String數(shù)據(jù)轉(zhuǎn)換成引用數(shù)據(jù)類型(自定義數(shù)據(jù)類型時(shí)),需要使用此方法實(shí)現(xiàn)轉(zhuǎn)換。
  • BeanUtils.populate(bean,Map),其中Map中的key必須與目標(biāo)對(duì)象中的屬性名相同,否則不能實(shí)現(xiàn)拷貝。
  • BeanUtils.copyProperties(newObject,oldObject),實(shí)現(xiàn)對(duì)象的拷貝

自定義數(shù)據(jù)類型使用BeanUtils工具時(shí)必須具備的條件

自定義數(shù)據(jù)類型使用BeanUtils工具時(shí),本身必須具備getter和setter方法,因?yàn)锽eanUtils工具本身也是一種內(nèi)省的實(shí)現(xiàn)方法,所以也是借助于底層的getter和setter方法進(jìn)行轉(zhuǎn)換的。

實(shí)例

想要封裝成javabean的對(duì)象

package com.jpzhutech.beanutils;

import java.util.Date;

import javax.xml.crypto.Data;

public class Emp {
  private int id ;
  private String name;
  public Emp(int id, String name, double salary, Date date) {
    super();
    this.id = id;
    this.name = name;
    this.salary = salary;
    this.date = date;
  }

  private double salary;
  private Date date;


  public Date getDate() {
    return date;
  }
  public void setDate(Date date) {
    this.date = date;
  }
  public Emp() {

  }

  public int getId() {
    return id;
  }
  public void setId(int id) {
    this.id = id;
  }
  public String getName() {
    return name;
  }
  public void setName(String name) {
    this.name = name;
  }
  public double getSalary() {
    return salary;
  }
  public void setSalary(double salary) {
    this.salary = salary;
  }


  @Override
  public String toString() {
    // TODO Auto-generated method stub
    return "編號(hào):"+this.id+" 姓名:"+this.name+" 工資:"+this.salary+" 生日:"+date;
  }

}

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)建站muchs.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。

網(wǎng)站欄目:Java工具類BeanUtils庫(kù)介紹及實(shí)例詳解-創(chuàng)新互聯(lián)
分享路徑:http://muchs.cn/article8/coioip.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供關(guān)鍵詞優(yōu)化網(wǎng)站設(shè)計(jì)公司、用戶體驗(yàn)、外貿(mào)網(wǎng)站建設(shè)、標(biāo)簽優(yōu)化、動(dòng)態(tài)網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

外貿(mào)網(wǎng)站制作