Hallo,
die Motivation für Spring waren die Mängel von J2EE, allen voran den Mängeln von EJB 2. Nun gibt es EJB 3, das ebenfalls auf Pojos und Depency Injection setzt. Auch wenn man Spring und Java EE vielleicht nicht in allen Bereichen vergleichen kann, verfolgen sie doch das gleiche große Ziel, nämlich den Entwickler bei der Erstellung von komplexen Geschäftsanwendungen zu unterstützen.
Nachdem ich den Artikel http://www.devx.com/Java/Article/32314/0/page/1 gelesen habe, erscheint mir EJB einfacher und eleganter, wenn auch etwas weniger flexibel. Man braucht bei EJB weniger (XML-)Konfiguration als bei Spring/Hibernate, die Transaktionsunterstützung scheint etwas eleganter zu sein, Skalierbarkeit kann mit einem Java-EE-Server scheinbar leichter erreicht werden und es gibt auch einen Standard für Authentifizierung und Autorisierung. Bei Spring benutzen vielleicht die meisten Spring Security (Acegi), was aber auch kein Standard ist.
Besser gefällt mir bei Spring aber, dass es sowas wie das Unterprojekt Spring MVC für Webanwendungen gibt. Da gibt es bei Java EE aus meiner Sicht nichts direkt vergleichbares. JavaServer Faces kümmert sich z. B. um die Validierung der Benutzereingaben., die aber eigentlich nichts in der Präsentationsschicht verloren hat. Außerdem mag ich JSF noch aus anderen gründen nicht und würde es in einem Projekt nicht einsetzen wollen. Aber dann hätte man bei einer Java-EE-Anwendung keine Framework-Unterstützung bei der Validierung.
Was spricht aus eurer Erfahrung für und gegen Spring bzw. Java EE?
die Motivation für Spring waren die Mängel von J2EE, allen voran den Mängeln von EJB 2. Nun gibt es EJB 3, das ebenfalls auf Pojos und Depency Injection setzt. Auch wenn man Spring und Java EE vielleicht nicht in allen Bereichen vergleichen kann, verfolgen sie doch das gleiche große Ziel, nämlich den Entwickler bei der Erstellung von komplexen Geschäftsanwendungen zu unterstützen.
Nachdem ich den Artikel http://www.devx.com/Java/Article/32314/0/page/1 gelesen habe, erscheint mir EJB einfacher und eleganter, wenn auch etwas weniger flexibel. Man braucht bei EJB weniger (XML-)Konfiguration als bei Spring/Hibernate, die Transaktionsunterstützung scheint etwas eleganter zu sein, Skalierbarkeit kann mit einem Java-EE-Server scheinbar leichter erreicht werden und es gibt auch einen Standard für Authentifizierung und Autorisierung. Bei Spring benutzen vielleicht die meisten Spring Security (Acegi), was aber auch kein Standard ist.
Besser gefällt mir bei Spring aber, dass es sowas wie das Unterprojekt Spring MVC für Webanwendungen gibt. Da gibt es bei Java EE aus meiner Sicht nichts direkt vergleichbares. JavaServer Faces kümmert sich z. B. um die Validierung der Benutzereingaben., die aber eigentlich nichts in der Präsentationsschicht verloren hat. Außerdem mag ich JSF noch aus anderen gründen nicht und würde es in einem Projekt nicht einsetzen wollen. Aber dann hätte man bei einer Java-EE-Anwendung keine Framework-Unterstützung bei der Validierung.
Was spricht aus eurer Erfahrung für und gegen Spring bzw. Java EE?