一惦界、 javabean 是什么?
Bean的中文含義是“豆子”,顧名思義境钟,JavaBean是指一段特殊的Java類,
就是有默然構(gòu)造方法,只有g(shù)et,set的方法的java類的對(duì)象.
專業(yè)點(diǎn)解釋是:
JavaBean定義了一組規(guī)則
JavaBean就是遵循此規(guī)則的平常的Java對(duì)象?
?
滿足這三個(gè)條件:?
?? 1.執(zhí)行java.io.Serializable 接口
2.提供無(wú)參數(shù)的構(gòu)造器
?? 3.提供getter 和 setter方法訪問(wèn)它的屬性.
?
簡(jiǎn)單地說(shuō)俭识,JavaBean是用Java語(yǔ)言描述的軟件組件模型慨削,其實(shí)際上是一個(gè)類。這些類遵循一個(gè)接口格式套媚,以便于使函數(shù)命名缚态、底層行為以及繼承或?qū)崿F(xiàn)的行為,可以把類看作標(biāo)準(zhǔn)的JavaBean組件進(jìn)行構(gòu)造和應(yīng)用堤瘤。
JavaBean一般分為可視化組件和非可視化組件兩種玫芦。可視化組件可以是簡(jiǎn)單的GUI元素宙橱,如按鈕或文本框姨俩,也可以是復(fù)雜的,如報(bào)表組件师郑;非可視化組件沒(méi)有GUI表現(xiàn)形式环葵,用于封裝業(yè)務(wù)邏輯、數(shù)據(jù)庫(kù)操作等宝冕。其最大的優(yōu)點(diǎn)在于可以實(shí)現(xiàn)代碼的可重用性张遭。JavaBean又同時(shí)具有以下特性。
*???? 易于維護(hù)地梨、使用菊卷、編寫缔恳。
*???? 可實(shí)現(xiàn)代碼的重用性。
*???? 可移植性強(qiáng)洁闰,但僅限于Java工作平臺(tái)歉甚。
*???? 便于傳輸,不限于本地還是網(wǎng)絡(luò)扑眉。
*???? 可以以其他部件的模式進(jìn)行工作纸泄。
對(duì)于有過(guò)其他語(yǔ)言編程經(jīng)驗(yàn)的讀者,可以將其看作類似微軟的ActiveX的編程組件腰素。但是區(qū)別在于JavaBean是跨平臺(tái)的聘裁,而ActiveX組件則僅局限于Windows系統(tǒng)」В總之衡便,JavaBean比較適合于那些需要跨平臺(tái)的、并具有可視化操作和定制特性的軟件組件洋访。
JavaBean組件與EJB(Enterprise JavaBean镣陕,企業(yè)級(jí)JavaBean)組件完全不同。EJB 是J2EE的核心捌显,是一個(gè)用來(lái)創(chuàng)建分布式應(yīng)用茁彭、服務(wù)器端以及基于Java應(yīng)用的功能強(qiáng)大的組件模型。JavaBean組件主要用于存儲(chǔ)狀態(tài)信息扶歪,而EJB組件可以存儲(chǔ)業(yè)務(wù)邏輯。
2? 使用JavaBean的原因
程序中往往有重復(fù)使用的段落摄闸,JavaBean就是為了能夠重復(fù)使用而設(shè)計(jì)的程序段落善镰,而且這些段落并不只服務(wù)于某一個(gè)程序,而且每個(gè)JavaBean都具有特定功能年枕,當(dāng)需要這個(gè)功能的時(shí)候就可以調(diào)用相應(yīng)的JavaBean炫欺。從這個(gè)意義上來(lái)講,JavaBean大大簡(jiǎn)化了程序的設(shè)計(jì)過(guò)程熏兄,也方便了其他程序的重復(fù)使用品洛。
JavaBean傳統(tǒng)應(yīng)用于可視化領(lǐng)域,如AWT(窗口工具集)下的應(yīng)用摩桶。而現(xiàn)在桥状,JavaBean更多地應(yīng)用于非可視化領(lǐng)域,同時(shí)硝清,JavaBean在服務(wù)器端的應(yīng)用也表現(xiàn)出強(qiáng)大的優(yōu)勢(shì)辅斟。非可視化的JavaBean可以很好地實(shí)現(xiàn)業(yè)務(wù)邏輯、控制邏輯和顯示頁(yè)面的分離芦拿,現(xiàn)在多用于后臺(tái)處理查邢,使得系統(tǒng)具有更好的健壯性和靈活性。JSP + JavaBean和JSP + JavaBean + Servlet成為當(dāng)前開(kāi)發(fā)Web應(yīng)用的主流模式酵幕。
3? JavaBean的開(kāi)發(fā)
在程序設(shè)計(jì)的過(guò)程中,JavaBean不是獨(dú)立的芳撒。為了能夠更好地封裝事務(wù)邏輯实胸、數(shù)據(jù)庫(kù)操作而便于實(shí)現(xiàn)業(yè)務(wù)邏輯和前臺(tái)程序的分離番官,操作的過(guò)程往往是先開(kāi)發(fā)需要的JavaBean庐完,再在適當(dāng)?shù)臅r(shí)候進(jìn)行調(diào)用。但一個(gè)完整有效的JavaBean必然會(huì)包含一個(gè)屬性徘熔,伴隨若干個(gè)get/set(只讀/只寫)函數(shù)的變量來(lái)設(shè)計(jì)和運(yùn)行的门躯。JavaBean作為一個(gè)特殊的類讶凉,具有自己獨(dú)有的特性。應(yīng)該注意以下3個(gè)方面山孔。
*???? JavaBean類必須有一個(gè)沒(méi)有參數(shù)的構(gòu)造函數(shù)。
*???? JavaBean類所有的屬性最好定義為私有的台颠。
*???? JavaBean類中定義函數(shù)setXxx() 和getXxx()來(lái)對(duì)屬性進(jìn)行操作褐望。其中Xxx是首字母大寫的私有變量名稱。