Die Java™ EE-Spezifikation vereinfacht
die Erstellung von EJB 3.1-Anwendungen im Vergleich zu vorherigen EJB-Spezifikationen.
Die folgenden Features wurden in EJB 3.1 hinzugefügt (JSR 318):
- Singleton-Beans (@Singleton)
- Vor EJB 3.1 gab es keine einfache Möglichkeit, Daten innerhalb der gesamten Anwendung gemeinsam zu
nutzen. Das EJB 3.1-Singleton ist ein anwendungsweites Singleton.
- Der gemeinsame Zugriff kann entweder vom Container oder vom Beanentwickler verwaltet werden.
Java EE optimiert die EJB-Entwicklung folgendermaßen:
- Weniger erforderliche Klassen und Schnittstellen
- Home- und Objektschnittstellen sind nicht mehr erforderlich. Sie benötigen nur die Geschäftsschnittstelle.
- Es ist keine Implementierung von javax.ejb.SessionBean erforderlich.
- Es ist nicht erforderlich, geprüfte Ausnahmen zu deklarieren.
- Optionale Implementierungsdeskriptoren
- Annotationen stellen die Komponentendefinition und die Abhängigkeitsinjektion zur Verfügung.
- Einfache Suchfunktionen
- Die neue Schnittstellenmethode "EJBContext()" ersetzt JNDI-Aufrufe.
- Schlanke Persistenz für objektrelationale Zuordnung
- Entitäten sind POJOs, die eine objektorientierte Ansicht der in relationalen Datenbanken gespeicherten Daten zur Verfügung stellen.
- Neue Interceptor-Klasse (neu in Java EE 5)
- Interceptors sind Objekte, die einen Aufruf einer Geschäftsmethode abfangen
(z. B. zur Sicherheitsverarbeitung).
- Der Zweck und die Wirkungsweise ähneln dem Servletfilter oder dem Web-Service-Handler.
- Es wird eine eingeschränkte Form aspektorientierter Programmierung zur Verfügung gestellt.