2011-12-25 127 views
16

我是JSP和服務器端編程的新手。直到現在我正在使用Servlets和Java類。我在java類的幫助下分離我的應用程序(按照MVC模型)。我想知道java bean和java類的區別。在這種情況下,我可以使用java bean而不是java類。任何有用的解釋或有用的鏈接?java bean和java類的區別?

回答

27

一個Java Bean僅僅是一個符合一些約定類:

  • 屬性,可以通過干將訪問(和setter如果這些屬性是不是隻讀)
  • 無參數的公共構造
  • 序列化

的JSP EL和標籤設計這些公約左右。他們大多不需要遵守所有這些慣例。 getters可用的屬性是這些約定中最重要的。例如,表達式

${foo.bar.name} 

顯示foo bean的條形的名稱。 foo是必須位於頁面,請求,會話或應用程序上下文中的bean。這個表達式將在這個bean上調用getBar(),然後在getBar()返回的對象上調用getName()

+0

是否需要實現序列化才能被視爲bean? – Wronski 2014-12-17 22:33:07

+2

@Wronski在最嚴格的定義中,是:https://docs.oracle.com/javase/tutorial/javabeans/advanced/persistence.html。但正如我所說,許多框架依賴於JavaBean約定得到尊重,但這並不意味着他們必須尊重所有這些約定。例如,如果對象不可序列化,則使用JSP EL訪問對象屬性不會失敗。 – 2014-12-18 19:35:20

2

JavaBeans規範將JavaBeans組件的類型定義爲「可重用的軟件組件」。組件是一個簡單的Java Bean Class Java尊重有關方法命名,構造和行爲的某些約定。遵守這些約定可以使用,重用,替換和連接用於開發工具的Java Bean。豆必須是「Serializable」爲了保存和恢復這個類的實例。

相關問題