Was ist eine JavaBean und warum brauche ich sie? Da kann ich alle Apps mit der Klassen- und Schnittstellenstruktur erstellen? Warum brauche ich Bohnen? Und können Sie mir einige Beispiele geben, bei denen Bohnen anstelle von Klassen und Schnittstellen wichtig sind?
Bitte erläutern Sie die Wesentlichkeit einer Bohne im folgenden Kontext:
- Wep Apps
- Standalone-Apps
Antworten:
Sie repräsentieren oft nur Daten aus der realen Welt. Hier ist ein einfaches Beispiel für einen Javabeaner:
Die Implementierung
Serializable
ist an sich nicht obligatorisch, aber sehr nützlich, wenn Sie Javabeans außerhalb des Java-Speichers beibehalten oder übertragen möchten, z. B. auf Festplatte oder über das Netzwerk.In beispielsweise eine DAO - Klasse können Sie es verwenden , um eine Liste der Benutzer zu erstellen , wobei Sie speichern die Daten der
user
Tabelle in der Datenbank:In beispielsweise Sie eine Servlet - Klasse kann es verwenden , um Übertragung von Daten aus der Datenbank in die Benutzeroberfläche:
In einer JSP-Seite können Sie beispielsweise über EL darauf zugreifen , was den Javabean-Konventionen entspricht, um die Daten anzuzeigen:
Macht das Sinn? Sie sehen, es ist eine Art Konvention, die Sie überall verwenden können, um Daten zu speichern , zu übertragen und darauf zuzugreifen .
Siehe auch:
quelle
Bohnen selbst
JavaBeans gibt es überall, sie sind eine Konvention und fast jede etwas größere Bibliothek verwendet diese Konventionen, um Dinge zu automatisieren. Nur einige Gründe, warum JavaBeans verwendet werden sollten:
Natürlich gibt es auch Enterprise JavaBeans, die eine ganz andere Sache sind und nicht mit einfachen JavaBeans gemischt werden sollten. Ich wollte nur EJB: s erwähnen, weil die Namen ähnlich sind und es leicht ist, diese beiden zu verwechseln.
Bohnen in Webanwendungen
Wenn Sie "normale" JavaBeans im Web-App-Kontext betrachten, sind sie sinnvoller als das Tragen von Schuhen in Ihren Beinen. Da die Servlet-Spezifikation erfordert, dass Sitzungen serialisierbar sind, sollten Sie Ihre Daten in der Sitzung als etwas speichern, das serialisierbar ist - warum machen Sie es dann nicht zu einer Bean? Werfen Sie einfach Ihre SomeBusinessDataBean in die Sitzung und Sie können loslegen, lächerlich einfach, spezifikationskonform und bequem.
Das Übertragen dieser Daten in die Anwendung ist ebenfalls einfach, da Sie mit JavaBeans Teile Ihrer Anwendung vollständig entkoppeln können. Stellen Sie sich JavaBeans als einen Brief und verschiedene Subsysteme der Anwendung als Abteilungen innerhalb eines sehr großen Unternehmens vor: Dept.A sendet eine Reihe von Daten an Dept.B, Dept.B weiß nicht - oder kümmert sich nicht einmal darum - woher die Daten stammen wie es sein sollte und kann einfach den Brief öffnen, Sachen daraus lesen und seine Sache basierend auf diesen Daten machen.
Bohnen in eigenständigen Anwendungen
Tatsächlich gilt das oben Gesagte auch für eigenständige Apps. Der einzige Unterschied besteht darin, dass Sie die Benutzeroberfläche etwas mehr durcheinander bringen können, da eigenständige Anwendungen über eine zustandsbehaftete Benutzeroberfläche verfügen, während Webanwendungen über eine statische Benutzeroberfläche verfügen, die in einigen Fällen nur zustandsbehaftete Benutzeroberflächen simuliert . Aufgrund dieses Unterschieds ist es einfacher, sich mit eigenständigen Anwendungen herumzuschlagen, aber das ist ein ganz anderes Thema wert und steht überhaupt nicht in direktem Zusammenhang mit JavaBeans.
quelle
Eine Bohne ist eigentlich nicht viel. Damit eine Klasse eine "Bohne" ist, ist nur Folgendes erforderlich:
Dazu können Sie Getter und Setter für Eigenschaften der Klasse hinzufügen, die einer bestimmten Namenskonvention entsprechen, wenn die Felder unter bestimmten Umständen erkennbar sein sollen (z. B. indem Sie diese Klasse zu einem Objekt machen, das Sie aus einem visuellen Editor in Ihrem ziehen und ablegen können IDE zum Beispiel).
Weitere Informationen direkt von Sun finden Sie hier .
quelle
Eine Java Bean ist eine Softwarekomponente, die so konzipiert wurde, dass sie in verschiedenen Umgebungen wiederverwendbar ist. Es gibt keine Einschränkung für die Fähigkeit einer Bohne. Es kann eine einfache Funktion ausführen, z. B. die Rechtschreibung eines Dokuments überprüfen, oder eine komplexe Funktion, z. B. die Prognose der Wertentwicklung eines Aktienportfolios. Eine Bean kann für einen Endbenutzer sichtbar sein. Ein Beispiel hierfür ist eine Schaltfläche auf einer grafischen Benutzeroberfläche. Eine Bean kann für einen Benutzer auch unsichtbar sein. Ein Beispiel für diese Art von Baustein ist die Software zum Dekodieren eines Multimedia-Informationsstroms in Echtzeit. Schließlich kann eine Bean so konzipiert sein, dass sie autonom auf der Workstation eines Benutzers oder in Zusammenarbeit mit einer Reihe anderer verteilter Komponenten arbeitet. Die Software zum Generieren eines Kreisdiagramms aus einer Reihe von Datenpunkten ist ein Beispiel für eine Bean, die lokal ausgeführt werden kann. Jedoch,
Wir werden in Kürze sehen, welche spezifischen Änderungen ein Softwareentwickler an einer Klasse vornehmen muss, damit sie als Java Bean verwendet werden kann. Eines der Ziele der Java-Designer war es jedoch, die Verwendung dieser Technologie zu vereinfachen. Daher sind die Codeänderungen minimal.
Vorteile von Java Beans
Eine Softwarekomponentenarchitektur bietet Standardmechanismen für den Umgang mit Softwarebausteinen. In der folgenden Liste sind einige der spezifischen Vorteile aufgeführt, die die Java-Technologie für einen Komponentenentwickler bietet:
Hier ist ein einfaches Beispiel für einen Javabeaner:
Dies ist eine echte Bean namens MyBean mit dem Status (der Variablen theValue), der vom JavaBeans-Persistenzmechanismus automatisch gespeichert und wiederhergestellt wird. Sie verfügt über eine Eigenschaft namens MyValue, die von einer visuellen Programmierumgebung verwendet werden kann. Diese Bean hat keine visuelle Darstellung, dies ist jedoch keine Voraussetzung für eine JavaBean-Komponente.
quelle