Unterschied zwischen den einzelnen Beans

F

Frozenlife

Hallo,

kann mir bitte jemand mal den genauen Unterschied zwischen:
--> einer normalen Bean
--> einer Managed Bean
--> einer Enterprise Java Bean

sagen. Wäre sehr dankbar.

mfg Frozenlife
 
Normale Bean = Java Bean. Einfach Klasse mit getter und setter Methode für den Zugriff auf Properties. Implementiert keine technologiebhafteten Interfaces. Auch bekannt als POJO.

Managed Bean. JSF. (UI)Komponente des Frameworks.

Enterprise Bean. Komponentenmodell von JavaEE.

Grundsätzlich ist es so, dass der Begriff Bean in Java eigentlich immer im Zusammenhang mit Komponenten auftaucht. Wobei Komponente ein überladener Begriff ist. Für Bean würde ich Komponente so definieren: Ein Satz von Vereinbarungen über den Aufbau von Klassen, damit sie auf bestimmte Art und Weise vom Client genutzt werden können.

Den kleinsten gemeinsamen Nenner findet man dann wohl in der JavaBean (nur Getter und Setter). Enterprise Beans mussten bis EJB 2.1 bestimmte Interfaces implementieren. Dafür konnte sie der EJB Container dann verwalten, starten, stoppen, poolen, Dienste wie Security und Transaktionen bereitstellen usw.

Mittlerweile hat sich aber herausgestellt, dass einfachere Komponentemodell besser handzuhaben sind. Spring Beans z.B. sind nur eine kleine Erweiterung zum JavaBeans Modell. Sie gehen davon aus, dass die Klasse durch das Bereitstellen von Settern oder Konstruktoren Abhängigkeiten zu anderen Spring Beans ausdrückt.

Alle Klarheiten beseitigt? ;)

REINHAUN!
 

Neue Beiträge

Zurück