Erweitern des Verständnisses von Managed Beans in Java EE 6
Die Java EE 6-Spezifikation umfasst eine breite Palette von Anmerkungen für den Umgang mit Managed Beans, einschließlich:
- @javax.annotation.ManagedBean
- @javax.inject.Named
- @javax.faces.ManagedBean
Navigation im Spektrum der verwalteten Produkte Beans
-
JSF Managed Beans: Diese Beans werden von der JavaServer Faces (JSF)-Spezifikation angeboten und unterstützen die Bean-Erstellung und Abhängigkeitsinjektion für JSF-Seiten. Sie bieten im Vergleich zu CDI-Beans eingeschränkte Funktionen und sollten zugunsten letzterer abgeschafft werden.
-
CDI-Beans: Diese mit CDI eingeführten Beans bieten erweiterte Funktionen wie Interceptoren, Ereignisbehandlung, und Abhängigkeitsinjektion mit Qualifizierern. Sie stellen den primären Managed-Bean-Mechanismus in Java EE 6 und höher dar.
-
EJB: Enterprise JavaBeans (EJBs) sind ein grundlegendes Konzept in Java EE und bieten transaktionale, verteilte und zustandsbehaftete/zustandslose Bereitstellung Dienstleistungen. Sie bieten Funktionen, die für CDI-Beans nicht verfügbar sind, wie Passivierung und Timer.
Best Practices für die Injektion
Die Injektion verwalteter Beans kann durch die folgenden Anmerkungen erreicht werden:
-
@Inject: Zur Injektion in CDI-Bohnen und EJBs
-
@EJB: Speziell zum Einfügen von EJBs in andere verwaltete Beans
-
@ManagedProperty: Eine ältere Annotation wird in Java EE 6 noch unterstützt, aber Empfohlen wird die Verwendung von @Inject Stattdessen.
Auswahl des optimalen verwalteten Bean-Typs
Die Entscheidung, welcher verwaltete Bean-Typ verwendet werden soll, hängt von den spezifischen Anforderungen der Anwendung ab:
-
CDI Beans: Die Standardauswahl für verwaltete Allzweck-Beans, die eine breite Palette an Funktionen und Funktionen bieten Flexibilität.
-
EJBs: Unverzichtbar für Funktionen wie Transaktionsmanagement, Passivierung und Timer.
Das obige ist der detaillierte Inhalt vonWelchen verwalteten Bean-Typ sollten Sie in Java EE 6 wählen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!