Si tengo 5 años de experiencia en Java Spring, ¿tengo 5 años de experiencia en J2EE? ¿No está J2EE incrustado en Spring?

Lamento decírtelo, pero si no puede marcar la diferencia entre Spring y Java EE (y si cree que Spring incluye Java EE), no tiene ninguna experiencia en absoluto … Y tampoco entiende realmente Spring.

Spring es una pila de frameworks que permiten hacer cosas: spring mvc es un controlador de vista modelo, spring-aop permite aspectos, interacciones spring-orm jdbc, etc. ). Como adición, Spring puede ejecutarse dentro de un contenedor de servlets (tomcat, jetty …)

Java EE (que ya no se llama J2EE durante algunos años) puede verse como una pila completa (a diferencia de los múltiples módulos de resorte). Java EE abarca (en su mayoría): JSF, JSP, JPA, JMS, EJB, Validación, JAXB, JSONP, JAXWS, JAXRS, JAAS, JTA. Estas JSR (especificaciones de java) utilizan las mismas implementaciones que Spring (es decir, hibernación para JPA).
Java EE solo puede ejecutarse en un servidor Java EE (wildfly, tomEE, glassfish, WAS).

Entonces, si dominas los módulos spring- * correspondientes, no será difícil aprender JavaEE (spring-jms, spring-data-jpa, spring-oxm, spring-validation, spting-tx, etc.), Los conceptos manipulados solo serán ligeramente diferentes, pero llevarán al mismo objetivo.