Hallo zusammen,
ich bin noch relativ neu in dem Thema und habe trotz Recherche ein paar Fragen zu Java beans. Im Moment beschäftige ich mich gerade im Zusammenhang meiner Arbeit mit Hybris Commerce. In dem Schulungsmaterial wird häufig Bean als Begriff benutzt.
Im Internet hab ich folgendes dazu gefunden:
»A Java Bean is a reusable software component that can be manipulated visually in a builder tool.«
"Heutzutage ist das Feld viel größer, und Beans kommen in allen Ecken der Java-Bibliothek vor: bei der Persistenz (also bei der Abbildung der Objekte in relationalen Datenbanken oder XML-Dokumenten), als Datenmodelle für Webanwendungen, bei grafischen Oberflächen und in vielen weiteren Einsatzgebieten.
Im Kern basieren JavaBeans auf:
Allerdings kann ich mir darunter nicht genaues vorstellen. Sind das Programme von Dritten, die dann als "JavaBeans" im eigenen JavaProjekt verwendet werden können? Aber in Eclipse kann man ja z.B. auch JavaBeans importieren mit der Importfunktion, das würde ja dann bedeuten, dass es eine JavaBeans-API geben würde.
Für den EventHandler bräuchte man ja rein theoretisch kein JavaBeans, was wäre dann der Vorteil JavaBeans zu benutzen?
Das Problem ist wenn ich mich jemand fragen würde was ich unter JavaBeans verstehe wüsste ich nicht was ich antworten sollte.
Ich bedanke mich schon mal für die (hoffentlich) kommenden Antworten.
ich bin noch relativ neu in dem Thema und habe trotz Recherche ein paar Fragen zu Java beans. Im Moment beschäftige ich mich gerade im Zusammenhang meiner Arbeit mit Hybris Commerce. In dem Schulungsmaterial wird häufig Bean als Begriff benutzt.
Im Internet hab ich folgendes dazu gefunden:
»A Java Bean is a reusable software component that can be manipulated visually in a builder tool.«
"Heutzutage ist das Feld viel größer, und Beans kommen in allen Ecken der Java-Bibliothek vor: bei der Persistenz (also bei der Abbildung der Objekte in relationalen Datenbanken oder XML-Dokumenten), als Datenmodelle für Webanwendungen, bei grafischen Oberflächen und in vielen weiteren Einsatzgebieten.
Im Kern basieren JavaBeans auf:
- Selbstbeobachtung (Introspection). Eine Klasse lässt sich von außen auslesen. So kann ein spezielles Programm, etwa ein GUI-Builder oder eine visuelle Entwicklungsumgebung, eine Bean analysieren und ihre Eigenschaften abfragen. Auch umgekehrt kann eine Bean herausfinden, ob sie etwa gerade von einem grafischen Entwicklungswerkzeug modelliert wird oder in einer Applikation ohne GUI Verwendung findet.
- Eigenschaften (Properties). Attribute beschreiben den Zustand des Objekts. In einem Modellierungswerkzeug lassen sie sich ändern. Da eine Bean zum Beispiel eine grafische Komponente sein kann, hat sie etwa eine Hintergrundfarbe. Diese Informationen können von außen durch bestimmte Methoden abgefragt und verändert werden. Für alle Eigenschaften werden spezielle Zugriffsmethoden deklariert; sie werden Property-Design-Patterns genannt.
- Ereignissen (Events). Komponenten können Ereignisse auslösen, die Zustandsänderungen oder Programmteile weiterleiten können.
- Anpassung (Customization). Der Bean-Entwickler kann die Eigenschaften einer Bean visuell und interaktiv anpassen.
- Speicherung (Persistenz). Jede Bean kann ihren internen Zustand, also die Eigenschaften, durch Serialisierung speichern und wiederherstellen. So kann ein Builder-Tool die Komponenten laden und benutzen. Ein spezieller Externalisierungsmechanismus erlaubt dem Entwickler die Definition eines eigenen Speicherformats, zum Beispiel als XML-Datei."
Allerdings kann ich mir darunter nicht genaues vorstellen. Sind das Programme von Dritten, die dann als "JavaBeans" im eigenen JavaProjekt verwendet werden können? Aber in Eclipse kann man ja z.B. auch JavaBeans importieren mit der Importfunktion, das würde ja dann bedeuten, dass es eine JavaBeans-API geben würde.
Für den EventHandler bräuchte man ja rein theoretisch kein JavaBeans, was wäre dann der Vorteil JavaBeans zu benutzen?
Das Problem ist wenn ich mich jemand fragen würde was ich unter JavaBeans verstehe wüsste ich nicht was ich antworten sollte.
Ich bedanke mich schon mal für die (hoffentlich) kommenden Antworten.