javaBean在MVC設計模型中是model,又稱模型層,在一般的程序中,我們稱它為數據層,就是用來設置數據的屬性和一些行為,然后我會提供獲取屬性和設置屬性的get/set方法
最近又在看<
spring in action>,里面很詳細講解上面名詞來歷:
- 在java1996年發布,當年12月即發布了java bean1.00-A,有什么用呢?通過統一的規范可以設置對象的值(get,set方法),這是最初的java bean;
- 在實際企業開發中,需要實現事務,安全,分布式,javabean就不好用了.sun公司就開始往上面堆功能,這里java bean就復雜為EJB;
- EJB功能強大,但是太重了.此時出現DI(依賴注入),AOP(面向切面)技術,通過簡單的java bean也能完成EJB的事情,這里的java bean簡化為POJO;
- Spring誕生了.
作者:文朋
鏈接:http://www.zhihu.com/question/19773379/answer/18307751
來源:知乎
著作權歸作者所有。商業轉載請聯系作者獲得授權,非商業轉載請注明出處。
作者:文朋
鏈接:http://www.zhihu.com/question/19773379/answer/18307751
來源:知乎
著作權歸作者所有。商業轉載請聯系作者獲得授權,非商業轉載請注明出處。
從Stack Overflow看到的答案,我覺得應該能完美回答你:
主要區分三個:JavaBean,EJB,POJO。
JavaBean
JavaBean是公共Java類,但是為了編輯工具識別,需要滿足至少三個條件:
EJB
在企業開發中,需要可伸縮的性能和事務、安全機制,這樣能保證企業系統平滑發展,而不是發展到一種規模重新更換一套軟件系統。 然后有提高了協議要求,就出現了 Enterprise Bean。
EJB在javabean基礎上又提了一些要求,當然更復雜了。
POJO
有個叫Josh MacKenzie人覺得,EJB太復雜了,完全沒必要每次都用,所以發明了個POJO,POJO是普通的javabean,什么是普通,就是和EJB對應的。
總之,區別就是,你先判斷是否滿足javabean的條件,然后如果再實現一些要求,滿足EJB條件就是EJB,否則就是POJO。
主要區分三個:JavaBean,EJB,POJO。
JavaBean
JavaBean是公共Java類,但是為了編輯工具識別,需要滿足至少三個條件:
- 有一個public默認構造器(例如無參構造器,)
- 屬性使用public 的get,set方法訪問,也就是說設置成private,同時get,set方法與屬性名的大小也需要對應。例如屬性name,get方法就要寫成,public String getName(){},N大寫。
- 需要序列化。這個是框架,工具跨平台反映狀態必須的
EJB
在企業開發中,需要可伸縮的性能和事務、安全機制,這樣能保證企業系統平滑發展,而不是發展到一種規模重新更換一套軟件系統。 然后有提高了協議要求,就出現了 Enterprise Bean。
EJB在javabean基礎上又提了一些要求,當然更復雜了。
POJO
有個叫Josh MacKenzie人覺得,EJB太復雜了,完全沒必要每次都用,所以發明了個POJO,POJO是普通的javabean,什么是普通,就是和EJB對應的。
總之,區別就是,你先判斷是否滿足javabean的條件,然后如果再實現一些要求,滿足EJB條件就是EJB,否則就是POJO。
javabean最簡單的理解是數據包.這個數據包里包含了一些信息(屬性).比如名稱,性別,年齡等.包含了可以給這些屬性賦值和取值的方法(get和set方法).通過實例化后的賦值操作(set方法),可以在別的地方把這個實例取出來,然后通過get方法把值取出來.這就是javabean.或者叫vo.如果在方法中含有了一些邏輯.比如getName的時候,要給name前面加上公司名稱.通常情況下,就叫做bo.表對應的持久化類,一般叫po.或者pojo.這些東西都可以統稱為javabean.核心就是賦值(set)和取值(get).如果需要用到讀寫硬盤的緩存,需要網絡傳輸,則需要序列化這個javabean.實現Serializable接口
作者:翅膀
鏈接:http://www.zhihu.com/question/19773379/answer/12936715
來源:知乎
著作權歸作者所有。商業轉載請聯系作者獲得授權,非商業轉載請注明出處。
作者:翅膀
鏈接:http://www.zhihu.com/question/19773379/answer/12936715
來源:知乎
著作權歸作者所有。商業轉載請聯系作者獲得授權,非商業轉載請注明出處。
符合一定規范編寫的Java類,不是一種技術,而是一種規范。大家針對這種規范,總結了很多開發技巧、工具函數。符合這種規范的類,可以被其它的程序員或者框架使用。
具體是什么規范,其它幾位已經說得很清楚了。
具體是什么規范,其它幾位已經說得很清楚了。
簡單來講,就是實體類,用來封裝數據。系統中需要用戶信息,那就寫個user類還封裝用戶的一些信息,按照一定的規范來寫,這就是java bean。
最近剛剛學了jsp,對javabean,我的理解是一樣的,一個jsp文件,一般有html和java語句,然而java語句在jsp中需要使用<%╱%>,為了減少編程員的工作量,會單獨建立一個javabean,於是在引用該類中方法的時候就可以直接寫<jsp:
不談概念,只談用處的話,javabean,或更精確的說是目前更流行的pojo,廣泛用於分層開發中進行數據交換。
一般而言,pojo與數據表結構對應。邏輯層與數據層之間只通過 pojo進行交換。如
db.save(pojo);
pojos= db.find(sql);
如此邏輯層不用去考慮復雜的sql拼接問題更關注於具體邏輯過程,從而使系統更有條理。
而表現層與邏輯層之間也可以使用pojo+模板引擎的方式進行處理。
所以個人對javabean的不精准概括就是:javabean是數據的映射。
一般而言,pojo與數據表結構對應。邏輯層與數據層之間只通過 pojo進行交換。如
db.save(pojo);
pojos= db.find(sql);
如此邏輯層不用去考慮復雜的sql拼接問題更關注於具體邏輯過程,從而使系統更有條理。
而表現層與邏輯層之間也可以使用pojo+模板引擎的方式進行處理。
所以個人對javabean的不精准概括就是:javabean是數據的映射。
作者:匿名用戶
鏈接:http://www.zhihu.com/question/19773379/answer/31674023
來源:知乎
著作權歸作者所有。商業轉載請聯系作者獲得授權,非商業轉載請注明出處。