轉載至:https://blog.csdn.net/kobexiaol/article/details/78195856
"Plain Ordinary Java Object",簡單普通的java對象。主要用來指代那些沒有遵循特定的java對象模型,約定或者框架的對象。
POJO的內在含義是指那些:
有一些private的參數作為對象的屬性,然后針對每一個參數定義get和set方法訪問的接口。
沒有從任何類繼承、也沒有實現任何接口,更沒有被其它框架侵入的java對象。
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符合一定規范編寫的Java類,不是一種技術,而是一種規范。大家針對這種規范,總結了很多開發技巧、工具函數。符合這種規范的類,可以被其它的程序員或者框架使用。它的方法命名,構造及行為必須符合特定的約定:
所有屬性為private。
這個類必須有一個公共的缺省構造函數。即是提供無參數的構造器。
這個類的屬性使用getter和setter來訪問,其他方法遵從標准命名規范。
這個類應是可序列化的。實現serializable接口。
因為這些要求主要是靠約定而不是靠實現接口,所以許多開發者把JavaBean看作遵從特定命名約定的POJO。
public class UserInfo implements java.io.Serializable{ //實現serializable接口。 private static final long serialVersionUID = 1L; private String name; private int age; //無參構造器 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當中可以有其它的方法 public void userInfoPrint(){ System.out.println(""); } }
兩者有什么區別
POJO其實是比javabean更純凈的簡單類或接口。POJO嚴格地遵守簡單對象的概念,而一些JavaBean中往往會封裝一些簡單邏輯。
POJO主要用於數據的臨時傳遞,它只能裝載數據, 作為數據存儲的載體,而不具有業務邏輯處理的能力。
Javabean雖然數據的獲取與POJO一樣,但是javabean當中可以有其它的方法。