Was ist eine JavaBean genau?
Habe ich verstanden, denke ich, dass eine "Bohne" ist eine Java-Klasse mit properties und Getter/setter. Soweit wie ich das verstehe, ist es das äquivalent zu einem C-struct. Ist das wahr?
Außerdem ist es eine wahre syntaktische Unterschied zwischen einer Bohne und einer normalen Klasse? Gibt es da eine spezielle definition oder eine Schnittstelle?
Grundsätzlich, warum gibt es einen Begriff dafür?
Bearbeiten: Wenn Sie so freundlich sein, und fügen Sie Informationen über die Serializable
- Schnittstelle, und was es bedeutet, auf deine Antwort, wäre ich sehr dankbar.
InformationsquelleAutor der Frage Amir Rachum | 2010-07-21
Du musst angemeldet sein, um einen Kommentar abzugeben.
Einer JavaBean ist nur ein standard
Serializable
.Das ist es. Es ist nur eine Konvention. Viele Bibliotheken, die davon abhängen aber.
Bezug auf
Serializable
von der API-Dokumentation:In anderen Worten, serialisierbare Objekte geschrieben werden können, streams, und damit Dateien, Objekt-Datenbanken, nichts wirklich.
Außerdem gibt es keinen syntaktischen Unterschied zwischen einer JavaBean und eine andere Klasse-eine Klasse definiert eine JavaBean, wenn es folgt den standards.
Es ist ein Begriff, für den es, denn der standard ermöglicht es, Bibliotheken programmgesteuert Dinge tun, mit Klassen-Instanzen definieren, die in einer vordefinierten Art und Weise. Zum Beispiel, wenn eine Bibliothek will stream jedes Objekt, das Sie gehen in es, weiß er es kann, weil Ihr Objekt serialisierbar ist (vorausgesetzt, die lib benötigt Ihre Objekte sein, die richtige JavaBeans).
InformationsquelleAutor der Antwort hvgotcodes
Gibt es einen Begriff für das es zu sound-special. Die Realität ist bei weitem nicht so geheimnisvoll.
Grundsätzlich eine "Bohne":
java.io.Serializable
und nicht so richtig), dassgetFoo()
ist der getter für das "Foo" - Eigenschaft), undUpdate:
Als für
Serializable
: Das ist nichts anderes als ein "marker-interface" (Schnittstelle nicht erklären, alle Funktionen) das sagt Java, dass die implementierende Klasse stimmt (und impliziert, dass es in der Lage ist) "Serialisierung" - ein Prozess, der konvertiert eine Instanz in einen Strom von bytes. Diese bytes werden in Dateien gespeichert, über das Netzwerk gesendet, Verbindung, usw, und haben genug Infos, um zu ermöglichen, eine JVM (zumindest einer, der weiß, dass über den Typ des Objekts) zu rekonstruieren, das Objekt später-eventuell in einer anderen Instanz der Anwendung, oder sogar eine ganz andere Maschine!Natürlich, um das zu tun, die Klasse zu halten, indem bestimmte Einschränkungen. Leiter unter Ihnen ist, dass alle Instanz-Felder müssen entweder primitive Typen (int, bool, etc), die Instanzen der Klasse, die ist auch serialisierbar, oder markiert als
transient
so, dass Java nicht versuchen werden, Sie sind. (Das bedeutet natürlich, dasstransient
Felder wird nicht überleben die Reise über einen Bach. Eine Klasse, die hattransient
Felder sollten bereit sein, neu zu initialisieren, wenn nötig.)Einer Klasse, können nicht an diese Einschränkungen sollten nicht implementieren, die
Serializable
(und, IIRC, der Java-compiler nicht sogar lassen es so zu tun.)InformationsquelleAutor der Antwort cHao
JavaBeans sind Java Klassen, die sich zu einer sehr einfachen Codierung Konvention.
Alles, was Sie tun müssen, ist, um
Objekt
InformationsquelleAutor der Antwort Kamal
Eigenschaften von JavaBeans
Eine JavaBean ist eine Java-Objekt, das erfüllt bestimmte Programmier-Konventionen:
Den JavaBean-Klasse implementieren muss, entweder
Serializable
oderExternalizable
Den JavaBean-Klasse muss einen no-arg-Konstruktor
Alle JavaBean-Eigenschaften muss die öffentliche setter-und getter-Methoden
Alle JavaBean-Instanz-Variablen sollten private
Beispiel von JavaBeans
InformationsquelleAutor der Antwort Md Azaharuddin Ali
Java Beans sind mit weniger code und mehr Arbeit Herangehen...
Java Beans werden verwendet, während Java EE als universal-Vertrag für die Laufzeit Entdeckung und Zugriff. Zum Beispiel, JavaServer Pages (JSP) verwendet Java Beans als Daten-transfer-Objekte zwischen den Seiten oder zwischen servlets und JSPs. Java EE JavaBeans Activation Framework verwendet Java Beans für die Integration von Unterstützung für MIME-Daten-Typen in Java EE. Die Java EE-Management-API verwendet JavaBeans als Grundlage für die Instrumentierung der Ressourcen, die verwaltet werden in einer Java EE Umgebung.
Über Die Serialisierung:
Im Objekt-Serialisierung ein Objekt dargestellt werden kann als eine Sequenz von bytes, enthält die Objekt-Daten, als auch Informationen über den Typ des Objekts und die Art der Daten im Objekt gespeichert.
Nachdem ein serialisiertes Objekt in eine Datei geschrieben, kann es aus der Datei gelesen und deserialisiert, ist die Art der Informationen und bytes, die Darstellung des Objekts und dessen Daten können verwendet werden, um neu das Objekt im Speicher.
InformationsquelleAutor der Antwort HANU
Finden Sie die Serialisierung nützlich bei der Bereitstellung von Ihrem Projekt über mehrere Server hinweg, da Bohnen, die beibehalten und übertrugen sich auf Sie.
InformationsquelleAutor der Antwort Truong Ha
Erklärung mit einem Beispiel.
1. import java.io.Serializable
Als für die Serialisierung finden Sie unter der Dokumentation.
2. private Felder
Felder sollten private zum verhindern, dass äußere Klassen auf einfache Weise ändern, die Felder.
Statt direkt accesing auf die Felder, usuagly getter/setter-Methoden verwendet werden.
3. Konstruktor
Einen öffentlichen Konstruktor ohne argument.
4. getter - /setter -
Getter-und setter-Methoden für die accesing private Felder.
InformationsquelleAutor der Antwort phi
Gemäß der Wikipedia:
Muss die Klasse einen öffentlichen default-Konstruktor (ohne Argumente). Dies ermöglicht die einfache Instanziierung innerhalb der Bearbeitung und Aktivierung frameworks.
Den Eigenschaften der Klasse zugänglich sein muss mit get -, set -, ist (kann verwendet werden, für die booleschen Eigenschaften "statt " get") und andere Methoden (so genannte accessor-Methoden-und mutator-Methoden) nach einem standard-Namenskonvention. Dies ermöglicht einfache, automatisierte Prüfung und Aktualisierung der bean-Zustand in die Rahmen, von denen viele gehören benutzerdefinierte Editoren für verschiedene Arten von Eigenschaften. Setter können ein oder mehr als ein argument.
Sollte die Klasse serialisierbar sein. [Dieser ermöglicht es, Anwendungen und frameworks zuverlässig zu speichern, speichern und wiederherstellen der bean-Zustand in einer Weise, unabhängig von der VM und der Plattform.]
Für weitere Informationen Folgen Sie diesem link.
InformationsquelleAutor der Antwort Diganta
Java Beans ist ein standard, und seine basic-syntax Anforderungen wurden klar und deutlich erklärt, von den anderen Antworten.
Jedoch, IMO, es ist mehr als eine einfache syntax standard. Der eigentliche Sinn oder Verwendungszweck von Java-Beans ist, zusammen mit verschiedenen tool unterstützt, um den standard, zur Erleichterung der code-Wiederverwendung und komponentenbasierte software-engineering, d.h. die es Entwicklern ermöglichen, Anwendungen zu bauen, durch den Zusammenbau vorhandener Komponenten (Klassen) und ohne code schreiben (oder nur zu schreiben, ein wenig glue-code). Leider ist diese Technologie unter-geschätzt und unter-Nutzung durch die Industrie, was gesagt werden kann, aus den Antworten in diesem thread.
Wenn Sie Lesen, Oracle tutorial, Java Beanskönnen Sie ein besseres Verständnis.
InformationsquelleAutor der Antwort Victor
Bezug auf den zweiten Teil Ihrer Frage, der Serialisierung wird ein Persistenz-Mechanismus verwendet, um Objekte zu speichern, als eine Folge von vorzeichenbehafteten bytes. Weniger formell, speichert es den Zustand eines Objekts, so dass Sie diese später abholen können, durch die de-Serialisierung.
InformationsquelleAutor der Antwort Mike
Einer Java-Bean ist eine java-Klasse, die [konzeptuellen], die Folgen sollten folgende Konventionen:
Es ist eine wiederverwendbare software-Komponente. Es können Kapseln viele-Objekt in einem Objekt so, dass dasselbe Objekt zugegriffen werden kann, die aus mehreren Orten und ist ein Schritt in Richtung einfache Wartung des Codes.
InformationsquelleAutor der Antwort Raghav salotra
Das Sie serialisierbar sind, haben einen null-argument-Konstruktor, und ermöglichen den Zugriff auf Eigenschaften mittels getter-und setter-Methoden. Der name "Bohne" gegeben wurde, umfassen diese Norm zielt auf die Erstellung wiederverwendbarer software-Komponenten für Java.
according to
wikiObjekte, die bilden das Rückgrat der Anwendung und verwaltet werden, indem der Spring IoC-container aufgerufen werden Bohnen. Eine bean ist ein Objekt, das instanziiert wird, zusammengesetzt, und auch sonst verwaltet werden, die von einem Spring-IoC-container. Ansonsten, eine Bohne ist einfach eine von vielen Objekten in Ihrer Anwendung.
according to
spring io.InformationsquelleAutor der Antwort Balman Rawat
Java Beans sind ganz normale Java-Klassen, Folgen bestimmten Konventionen - Sie brauchen keine speziellen Werkzeuge, um Sie zu erstellen.
Es gibt zwei grundlegende Konventionen, die befolgt werden müssen, in der Erstellung von Java-Bean-Klassen:
InformationsquelleAutor der Antwort Pankaj Mandale
Verstehen, JavaBean, die Sie brauchen, um beachten Sie die folgenden:
JavaBean ist eine konzeptionelle Zeug und kann nicht stellen eine Klasse von bestimmten Dingen
JavaBean ist ein Entwicklungs-tool visualisiert werden können, die in den Betrieb von wiederverwendbaren software-Komponenten
JavaBean basiert auf dem Sun JavaBeans-Spezifikation und können wiederverwendbare Komponenten. Seine größte feature ist die re-usability.
InformationsquelleAutor der Antwort Marcus Thornton