# Java Bean



## lernen.2007 (25. Dezember 2007)

Hallo Leute,

besteht ein Java Bean nur aus einer Klasse oder kann es auch aus mehreren Klassen bestehen? In Wikipedia steht nur aus einer Klasse. Was meint Ihr dazu?

Gruß
lernen.2007


----------



## zeja (25. Dezember 2007)

Eigentlich nur aus einer Klasse. Wieso, worum geht es dir denn?


----------



## lernen.2007 (25. Dezember 2007)

Hallo,

ich verstehe die Logik nicht. Man sagt ja die Java Bean ist ein Komponenten Modell von Java. Die packt man in jar. Aber warum dann nicht mehrere Klassen?


----------



## zeja (26. Dezember 2007)

Eine Klasse ist ein Bean und eine Komponente. Wenn du mehrer Komponenten brauchst, dann hast du mehrere Beans und mehrere Klassen. Das besondere an Beans ist einfach dass sie nur einfache Klassen mit Eigenschaften und Gettern und Settern sind aber eigentliche keine größere Logik haben.


----------



## lernen.2007 (26. Dezember 2007)

Hallo,

danke für das Antwort. Ich verstehe jetzt.

Gruß


----------



## lernen.2007 (26. Dezember 2007)

Hallo,

was ist dann der Unterschied zwischen Java Bean und ein Framework. Java Bean gibt ja Logik vor, d.h. es ist fertig implementiert.

Gruß


----------



## Oliver Gierke (28. Dezember 2007)

Hohoho... nicht so schnell... hier werden schnell gan viele Sachen in einen Topf geworfen, die nicht viel miteinander zu tun haben:

1. (Java)Bean - einfache Klasse, bei der Properties private sind und Getter und Setter haben. Das muss nicht zwingend für alle Properties der Klasse so sein (nur "lesbare" Properties haben zum beispiel keinen Setter). Wichtig ist nur, dass auf die Werte nur über Getter und Setter zugegriffen wird. Oft auch unter dem Begriff POJO (Plain Old Java Object) gemeint.

JavaBeans sind ein sehr einfaches, aber durchaus mächtiges "Komponentenmodell". Allerdings ist der Begriff Komponente arg überfrachtet. Eine wirkliche Komponente wird so eine Bean erst mit einer gewissen Semantik (z.B. dadurch, dass man durch Setter Dependencies zu anderen Beans ausdrückt). 

Sämtliche Swingkomponenten (schon wieder "Komponente" ^^) basieren auf diesem Modell.

2. Enterprise Java Beans - Komponentenstandard für "Großes". Hier gab es bis Version 2.1 spezielle Interfaces zu implementieren, seit Version 3 nutzt man eher Annotationen. 

Wichtig bei dem Thema ist eigentlich nur, dass man als Einsteiger schnell Literatur oder Artikeln begegnen kann, die "Beans" schreiben und "EnterpriseBeans" meinen. So kann man die zwei Sachen unter Umständen schnell verwechseln.

Bean VS. Framework

Ein Framewokr ist ein Satz von Klassen, der meist relativ viel technische Logik kapselt und es so möglich macht, viele Dinge, die man sonst immer wieder gleich oder ähnlich implementieren würde, nicht nochmal neu implementieren zu müssen. Bsp: Swing. Die Klasse JFrame kapselt die technischen Semantik eines Java GUI Fensters. Nahezu jede Swing Anwendung leitet von dieser Klasse ab und erweitert sie so um für den konkreten Fall spezifische Logik. Wenn man es etwas umgangssprachlich formulieren mag könte man "Hilfsklassen" sagen, obwohl die hässliche deutsche Übersetzung "Rahmenwerk" es eigentlich gut trifft: es gibt dir den Rahmen für etwas vor - du musst ihn nur noch füllen.

REINHAUN!


----------



## lernen.2007 (28. Dezember 2007)

Hallo,

vielen Dank.


----------

