Beans vs. managed Beans vs. backing Beans Erklärung

Dagobert

Bekanntes Mitglied
Guten Tag,
Wie der Name schon sagt, ich bräuchte ne knackige Definitions von den 3 Beans.
Also was ne bean ist weiß ich, jedoch wird mir nicht der unterscheid zur managed Bean klar. Und mit ner backing bean kann ich iwie gar nix anfangen oO.
Mein Prof hat das nur sehr beiläufig erwähnt, und das muss bei mir untergegangen sein.
Es wäre nett wenn mich kurz wer theoretisch aufklären kann. (also kein code o.a.)

mfg. Dagobert
 

nocturne

Bekanntes Mitglied
Also eine Backing-Bean ist ein oberbegriff, eine spezielle variante davon ist die Managed-Bean.

Eine Managed-Bean ist meist langlebig im Session-Scope und bildet mit den Service-Beans die Controller-Ebene.

Eine Backing-Bean ist meist kurzlebig im Request-Scope und verbindet die Controller-Ebene mit der View-Ebene, ist aber meist nicht teil der Controller-Ebene.
 
S

Sym

Gast
Kannst Du dafür eine Quelle nennen oder ist das nur Dein Gefühl?

Laut Spec kann eine Managed-Bean alle Scopes annehmen, die es gibt. Und ich sehe eine Backing-Bean (in JSF) als Synonym dafür.
 

Deadalus

Bekanntes Mitglied
Das Problem ist einfach, das diese Begriffe doppelt und dreifach belegt wurden. Ihr habt also leider beide recht.

Eine Klasse braucht folgende Eigenschaften um eine Bean zu sein:
Öffentlicher Standardkonstruktor (Default constructor)
Serialisierbarkeit (Serializable)
Öffentliche Zugriffsmethoden (Public Getters/Setters)

Bei der Managed Bean wirds schon witziger. Da kann man jetzt Sagen eine Managed Bean ist eine Bean, die mit der JSF Annotation @ManagedBean annotiert wurde. Der kann man tatsächlich jeden Scope geben.
Allerdings kann man eine ManagedBean auch einfach als Bean verstehen, deren Lebenszyklus von einem Container gemanaget wird. (Also auch neue EJB's, CDI Klassen ...). Zu JSF 1.2 Zeiten hat man die Begriffe so verwendet wie sie nocturne beschrieben hat.

Fazit: Das ist Auslegungssache. Ich persönlich würde empfehlen eine Managed Bean als Oberbegriff für eine von einem Container verwaltete Klasse zu verstehen und den Begriff der Backing Bean einfach zu vergessen.
 
M

maki

Gast
Eine Klasse braucht folgende Eigenschaften um eine Bean zu sein:
Da beschreibst du eine JavaBean ;)

AFAIK sind BackingBeans auch nur ManageBeans, die von einem Tool (GUI Designer) erstellt wurden.

Ich persönlich würde empfehlen eine Managed Bean als Oberbegriff für eine von einem Container verwaltete Klasse zu verstehen und den Begriff der Backing Bean einfach zu vergessen.
Sehe ich auch so.
 

JanHH

Top Contributor
managed bean ist ein technischer, klar definierter Begriff; backing-bean unspezifisch und "umgangssprachlich".

Abgesehen davon sind managed beans halt für sich betrachtete "vom container verwaltete beans", während backing beans logischerweise nur dann solche sein können, wenn sie etwas backen (also konkret, JSF-Seiten).

Ansonsten ist es auch ein Frage der Architektur der Anwendung. Eine Möglichkeit, JSF-Anwendungen zu bauen, ist es, pro JSF-Seite eine bean (die backing bean für diese Seite) zu haben. Das ist eher der Stil bei "alten" JSF-Anwendungen (ohne DI-Framework). Die Action-Beans (das, wo die eigentliche "Arbeit" der Anwendung implementiert ist, auch Anwendungslogig oder business-Logik genannt) sind stukturell da eher auf die JSF-Seiten hin fixiert. Eine andere Variante ist es, die Action Beans eher auf die Datenbank-Entities zuzuschneiden. Mit DI-Frameworks (Seam, CDI) hat sich das als "neuer" Stil durchgesetzt (weil man jetzt direkt EJBs in den JSF-Seiten ansprechen kann, was vorher nicht so ohne weiteres ging). So grob gesagt ;).
 

nocturne

Bekanntes Mitglied
Kannst Du dafür eine Quelle nennen oder ist das nur Dein Gefühl?

1. Laut Spec kann eine Managed-Bean alle Scopes annehmen, die es gibt.
2. Und ich sehe eine Backing-Bean (in JSF) als Synonym dafür.

Zu 1: Ok, wenn ich schreibe "ist meist langlebig im Session-Scope" meine ich "ist meist langlebig und meist im Session-Scope" :D
Zu 2: Da es z.B. in Struts die Action-Beans als Backing-Beans eingesetzt werden die sich klar vonManaged Beans unterscheiden würde ich mal sagen das Synonym nicht das richtige Wort ist, ich finde Oberbegriff oder Kategorie hier passender.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
A Warum werden die Managed Beans nicht erkannt? Allgemeines EE 3
N JSF - Frage zu Managed Beans und DataTable Allgemeines EE 4
K JSF - Zugriff auf Managed Beans Allgemeines EE 2
D JSF CDI @Inject No eligible for injection beans are found Allgemeines EE 8
J CDI fähige Beans und @ Inject Allgemeines EE 3
I Session löschen in Bean (Session Beans) Allgemeines EE 1
V Java EE 7 CDI, annotations und beans Allgemeines EE 1
L JSP: Dynamischer Content mit Beans für einen Konfigurator? Allgemeines EE 0
G JSF Beans nicht angezeigt Allgemeines EE 2
Java.getSkill() Anwendung Beans für Formulare Allgemeines EE 5
Spin Ant - Java Beans umsetzen Allgemeines EE 4
V "null" durch NICHTS ersetzen jsp und java beans Allgemeines EE 3
D Frage zum Statefull Session Beans Lebenszyklus Allgemeines EE 3
K EJB Enterprise Java Beans Allgemeines EE 32
F Beans Allgemeines EE 6
M Müssen Backing Beans serialisierbar sein? Allgemeines EE 7
S In einer Bean-Methode an ndere Beans kommen Allgemeines EE 7
S EJB Entity Beans -> CMP Allgemeines EE 11
S JSP - Veständnisproblem mit Beans Allgemeines EE 9
N Verständnis Beans und Taglibs Allgemeines EE 4
G Struts beans Allgemeines EE 7
G DB Connection mit Java Beans Allgemeines EE 6
P Wie Log4J in JSP's, Beans und Servlets am besten einbinden Allgemeines EE 2
T GUI-Nachrichten mit Message Driven Beans? Allgemeines EE 6
T Grundlegendes Verständnis - Beans, JSP und Servlets Allgemeines EE 3
G Persistenz-Entscheidung (Entity Beans, Hibernate, JDBC) Allgemeines EE 12
T XML, Beans, Datenbank. Kann mir jemand helfen? Allgemeines EE 5
K Enterprise Java Beans Allgemeines EE 7
TRunKX Mein Tomcat findet die Beans nicht was nu? Allgemeines EE 2
G Listenfeld mit Struts und Beans realisieren Allgemeines EE 4
T Verständnisfrage zu Beans Allgemeines EE 8
S J2EE, Java - Beans, Datenbankzugriff, JSP Allgemeines EE 7
S [JSP Beans]Variable auslesen Allgemeines EE 3
J Java Beans Allgemeines EE 7
A Brauche ich J2EE für Beans? Allgemeines EE 9
M Entity Beans: Rückgabe von Collectionen an Client Allgemeines EE 2
P Session Beans importieren Allgemeines EE 2
T JSP: Wo liegen die Beans Allgemeines EE 5
4a61766120617274697374 Managed Server im J2EE Umfeld Allgemeines EE 0
R Zugriff auf Managed Bean aus einem Filter Allgemeines EE 2

Ähnliche Java Themen

Neue Themen


Oben