2009-07-16 13 views
4

Welche Vorteile muss EJB mit Spring gestapelt werden? Warum konnte ich nicht einfach Spring Entity Manager, Security und POJOs verwenden, um das zu tun, was EJB tut?EJB vs Spring + POJO

Antwort

6

Sie viel überlappen, aber in einigen Bereichen noch unterschieden. Zum Beispiel Spring ist sehr gut in Leichtgewicht Remoting, und haben eine reiche AOP-Unterstützung usw. EJB, auf der anderen Seite, ist sehr gut in State-Management (Stateful Session Bohnen), verteilten Transaktionen usw. Spring fehlt Instanz Pooling, Aktivierung/Passivierung und alles. Auch fand ich es praktisch, Ihre Komponente in einen Web-Service mit EJB 3 zu konvertieren.

Schauen Sie beide als komplementäre Technologien, um das Beste aus ihnen herauszuholen.

+3

Pooling wird überbewertet, jetzt ist die Objekterstellung so schnell. Eine Aktivierung/Passivierung ist für POJOs nicht erforderlich. Und versuchen Sie Spring "Vertrag zuerst" Web-Services. Tatsächlich sehr nett. – duffymo

2

Ich sehe sie als komplementär. Mit anderen Worten, es ist nicht das eine oder das andere.

Wir entwickeln mit Spring und allen Einrichtungen, die es bietet, und stellen sie dann auf einem EJB-Container bereit. In den meisten Fällen benötigen Sie keine Session-Beans, Servlets reichen jedoch aus. Das ist der Vorteil von Spring.

Durch die Entwicklung auf Spring ist Ihre Anwendung nicht von einem Anwendungsserver abhängig. Es kann praktisch stand-alone laufen, dh Sie können Tests ohne Container durchführen (Spring übernimmt die Transaktionalisierung und das Life-Cycle-Management für Sie).