java對(duì)象 POJO和JavaBean的區(qū)別

POJO

"Plain Ordinary Java Object",簡單普通的java對(duì)象。主要用來指代那些沒有遵循特定的java對(duì)象模型,約定或者框架的對(duì)象。

POJO的內(nèi)在含義是指那些:
有一些private的參數(shù)作為對(duì)象的屬性,然后針對(duì)每一個(gè)參數(shù)定義get和set方法訪問的接口。
沒有從任何類繼承、也沒有實(shí)現(xiàn)任何接口,更沒有被其它框架侵入的java對(duì)象。

public class BasicInfoVo {

private String orderId;

private Integer uid;


public String getOrderId() {
    return orderId;
}

public void setOrderId(String orderId) {
    this.orderId = orderId;
}

public Integer getUid() {
    return uid;
}

public void setUid(Integer uid) {
    this.uid = uid;
}}

JavaBean

JavaBean 是一種JAVA語言寫成的可重用組件。JavaBean符合一定規(guī)范編寫的Java類,不是一種技術(shù),而是一種規(guī)范。大家針對(duì)這種規(guī)范,總結(jié)了很多開發(fā)技巧、工具函數(shù)。符合這種規(guī)范的類,可以被其它的程序員或者框架使用。它的方法命名,構(gòu)造及行為必須符合特定的約定:

  1. 所有屬性為private。

  2. 這個(gè)類必須有一個(gè)公共的缺省構(gòu)造函數(shù)。即是提供無參數(shù)的構(gòu)造器。

  3. 這個(gè)類的屬性使用getter和setter來訪問,其他方法遵從標(biāo)準(zhǔn)命名規(guī)范。

  4. 這個(gè)類應(yīng)是可序列化的。實(shí)現(xiàn)serializable接口。

因?yàn)檫@些要求主要是靠約定而不是靠實(shí)現(xiàn)接口,所以許多開發(fā)者把JavaBean看作遵從特定命名約定的POJO。

public class UserInfo implements java.io.Serializable{  
  
//實(shí)現(xiàn)serializable接口。  
private static final long serialVersionUID = 1L;  
  
private String name;  
private int age;  
  
//無參構(gòu)造器  
public UserInfo() {  
      
}  

public String getName() {  
    return name;  
}  

public void setName(String name) {  
    this.name = name;  
}  

public int getAge() {  
    return age;  
}  

public void setAge(int age) {  
    this.age = age;  
}  

//javabean當(dāng)中可以有其它的方法  
public void userInfoPrint(){  
    System.out.println("");  
}  }  

兩者有什么區(qū)別

  1. POJO其實(shí)是比javabean更純凈的簡單類或接口。POJO嚴(yán)格地遵守簡單對(duì)象的概念,而一些JavaBean中往往會(huì)封裝一些簡單邏輯。

  2. POJO主要用于數(shù)據(jù)的臨時(shí)傳遞,它只能裝載數(shù)據(jù), 作為數(shù)據(jù)存儲(chǔ)的載體,而不具有業(yè)務(wù)邏輯處理的能力。

  3. Javabean雖然數(shù)據(jù)的獲取與POJO一樣,但是javabean當(dāng)中可以有其它的方法。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 1. Java基礎(chǔ)部分 基礎(chǔ)部分的順序:基本語法,類相關(guān)的語法,內(nèi)部類的語法,繼承相關(guān)的語法,異常的語法,線程的語...
    子非魚_t_閱讀 34,734評(píng)論 18 399
  • 本文中我們介紹并比較兩種最流行的開源持久框架:iBATIS和Hibernate,我們還會(huì)討論到Java Persi...
    大同若魚閱讀 4,437評(píng)論 4 27
  • 1. 簡介 1.1 什么是 MyBatis ? MyBatis 是支持定制化 SQL、存儲(chǔ)過程以及高級(jí)映射的優(yōu)秀的...
    笨鳥慢飛閱讀 6,248評(píng)論 0 4
  • 時(shí)間,是條河。 生命宛若墜落的花瓣。 從枝頭分離的那一刻起。。。 便進(jìn)入了倒計(jì)時(shí)。 我們,洋洋灑灑,飄飄渺渺...
    花祭w閱讀 259評(píng)論 1 2
  • 色彩構(gòu)成的基本原理。色彩構(gòu)成是藝術(shù)設(shè)計(jì)專業(yè)的基礎(chǔ)也是認(rèn)知色彩,設(shè)計(jì)原理的必要環(huán)節(jié)。 色彩構(gòu)成,平面構(gòu)成,立體構(gòu)...
    G吉小妹閱讀 7,716評(píng)論 1 15

友情鏈接更多精彩內(nèi)容