POJO
POJO全稱是 Plain Old Java Object,中文可以翻譯成:普通Java類,具有一部分getter/setter方法的那種類就可以稱作POJO。一般在web應用程式中建立一個資料庫的映射對象時,我們隻能稱它為POJO。POJO類和Hibernate映射檔案User.hbm.xml的内容比對。POJO的内在含義是指那些沒有從任何類繼承、也沒有實作任何接口,更沒有被其它架構侵入的java對象。
JavaBean
JavaBean 是一種JAVA語言寫成的可重用元件。它的方法命名,構造及行為必須符合特定的約定:
- 這個類必須有一個公共的預設構造函數。
- 這個類的屬性使用getter和setter來通路,其他方法遵從标準命名規範。
- 這個類應是可序列化的。
因為這些要求主要是靠約定而不是靠實作接口,是以許多開發者把JavaBean看作遵從特定命名約定的POJO。
簡而言之,當一個Pojo可序列化,有一個無參的構造函數,使用getter和setter方法來通路屬性時,他就是一個JavaBean。
DAO
DAO(Data Access Object) .DAO提供了和資料庫打互動的方法,這裡通常寫擷取連接配接、關閉連接配接、查詢、增删改的方法!
POJO你當成JavaBeans的一種,一個特例:簡單的實體類。
就是一個資料載體。
差別一:
POJO就是一個資料載體 一般是沒有業務處理能力。
差別二:
POJO是new建立,由GC回收。
JAVABEAN一般由容器來管理,
比如你看到的scope屬性,設個範圍比如session,誰去幫你管?
不是GC不是你自己,而是容器。
給你舉個例子 不算太标準的例子,但是便于你了解:
一個學生類
Student{
id;
name;
get()
set();
}
這個就叫POJO
什麼又是javabean?
一個學生bean
StudentBean implements Serializable { //這裡
id;
name;
get()
set();formatName(); // 這裡
}
這個實作序列号,具備了格式化名字的業務邏輯處理能力,
就不再是一個POJO而變成一個JavaBean了。
javabean就是一個可重用元件,并實作Serializable接口。
舉個通俗的說法
在一個頁面,注冊,互動的是跟 javabean,處理一下輸入的名字。
名字非法,不合格 就發送通知。
DoMain 不是這種寫法 就是個習慣問題。
domain其實是一個Java Bean還有可能在裡面實作一些業務邏輯,
但是明确告訴你,已經過時了,老項目經理可能還會用。