Pregunta

Estoy aprendiendo Java EE 6. He visto cuánto progreso ha logrado en este lanzamiento de la especificación paraguas. Los EJBS 3.1 son mucho más fáciles y más livianos que las versiones anteriores, y CDI es sorprendente.

No estoy familiarizado con Spring, pero a menudo leí que ofrecía algunas características ordenadas que la pila Java EE no. Sin embargo, también leí ahora que Java EE ha alcanzado y ahora puede competir completamente con la primavera.

Sé que elegir entre ambos depende de muchos factores, pero si solo nos centramos en las características, digamos las últimas tendencias, etc. ¿Cuál tiene la ventaja de ataque? ¿Puede Spring 3 ofrecer algunos activos que la pila Java Ee 6 no puede?

Además, ¿qué pasa con el marco de costura? ¿De lo que leí es como Java EE 6 pero con algunas adiciones?

¿Fue útil?

Solución

Con el tiempo, Javaee se puso al día en términos de características.

Pero un factor, que me he topado muchas veces, es la razón principal por la que preferí la primavera durante mucho tiempo: los servidores y las implementaciones de Javaee son erróneos e individuales. Esto puede sonar como una queja, pero incluso lo mejor de Javaee 6 - CDI (Weld Impl) tiene mensajes de excepción crípticos y está dando a los desarrolladores un momento difícil (mira aquí). Sin mencionar los servidores de aplicaciones: llenos de errores realmente feos (logré encontrar alrededor de 5 errores durante 3 horas trabajando con JBoss 5)

Otra cosa que hace que la primavera sea más atractiva para mí es que las características se pueden agregar en pequeños plazos. Como señalé en mi comentario, la abstracción de caché unificado y el manejo de la conversación se agregarán en la próxima versión de Spring, que es un par de meses después de la versión anterior. En Javaee tendrías que esperar mucho tiempo (al menos para una solución estándar)

Pero no es tan negro con Javaee. Muchos de los problemas tienen soluciones o se solucionan de manera oportuna. Y en última instancia, es una cuestión de preferencia personal.

Por cierto, la cartera de Spring se llenó con proyectos laterales mientras tanto, que agregan muchas características/conjuntos de características específicas. Tenga en cuenta que muchos de ellos también se pueden usar con Javaee, pero están diseñados para encajar perfectamente con la primavera:

  • Seguridad de primavera - Seguridad declarativa
  • Spring Roo: una herramienta para proyectos de arranque rápido
  • Flujo web de Spring: marco en la cima de MVC para manejar los viajes por los magos
  • Datos de resorte: todavía nuevos, destinados a unificar el acceso a las tiendas NoSQL
  • Spring Mobile: traer primavera a plataformas móviles
  • Spring Social: un conjunto de herramientas para interactuar con las redes sociales

Esto es solo extras, y Javaee también tiene extras, pero son más de propósito general (hasta donde veo la imagen), aparte de la costura, que está específicamente dirigida a proporcionar lo que CDI pierde.

Una nota muy importante para concluir. Comparar la primavera con Javaee es incorrecta. Prefiero comparar Spring con CDI+EJB+Aplicaciones Server. El resto de Javaee se puede usar junto con la primavera, y a menudo lo es. Jax-WS, Jaxb, incluso JSF encajan muy bien con la primavera y a menudo se usan.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top