Tengo un conocimiento práctico de Struts2 y Spring. Quiero desarrollar una aplicación que administre información para múltiples compañías. Estoy totalmente confundido acerca de qué tecnologías son mejores para mi aplicación. Por ejemplo: Struts2 e Hibernate MVC con Spring. ¿Alguien puede ayudarme a seleccionar las tecnologías apropiadas?Qué tecnologías son mejores para mi aplicación: Struts con Hibernate o Spring con Hibernate
Respuesta
Tuve la misma pregunta hace unos días y los siguientes son los enlaces que tomé para tomar una decisión: me conformé con Spring MVC. También consulte Spring ROO si está empezando de nuevo.
En última instancia elección se basa en sus necesidades - pero por encima de enlaces a discutir los parámetros que debe tener en cuenta antes de elegir uno.
Espero que ayude.
Esta es una composición rápida de una pila de J2EE que puede utilizar:
Uso Struts2 para su capa del controlador
Uso Hibernate para la capa de abstracción de datos. Cree interfaces de servicio para su DAO. Las interfaces le permitirán usar algún tipo de RMI para servicios más adelante si así lo desea, lo que significa que esos servicios pueden ejecutarse en máquinas diferentes a su aplicación web. Haga que las clases concretas implementen esas interfaces. Las clases contendrán la lógica comercial y la validación de datos, y envolverán la sesión de Hibernate. La sesión de Hibernate se usa para leer/escribir desde/hacia la base de datos. Use Hibernate annotations para acelerar la implementación de los beans Hibernate.
Use Spring para crear instancias de sus clases de servicio y acciones de Struts2. Configure Spring para inyectar instancias de servicio en sus acciones de Struts2. Esto se llama dependency injection. Interfaces de referencia, no clases en los métodos de configuración de tu Struts2 para el DI.
Utilice la biblioteca de etiquetas Struts2 o JSTL en su JSP, que será su capa de vista.
Use Maven para sus compilaciones y despliegues.
Ejecute Apache con mod_jk, y use Tomcat como su contenedor de servlet. mod_jk se ejecuta con el proceso de Apache y pasa las solicitudes al contenedor de servlets de Tomcat, que vive en la JVM.
Si su aplicación requiere capacidades de búsqueda, use SOLR, un servicio REST construido sobre Lucene.
En lugar de utilizar Struts2, también puede consultar Apache Wicket.
Dicho esto, al haber trabajado con J2EE anteriormente, le recomendaría evitarlo para proyectos más pequeños ya que es excesivo. Serás mucho más productivo con Yii/PHP, Ruby on Rails o Python/Django, por nombrar algunos. – Simian
De acuerdo con @Simian, y añada algunos comentarios y razones.
Desde un punto de vista tecnológico, se debe utilizar un marco que utilizan tecnologías modernas y maduros, como Struts 2, Spring MVC, Hibernate, JSF, y etc
Sin embargo, desde un punto de vista comercial, debe tomar más énfasis en el modelo comercial en el que se basa su proyecto, y la demanda del marco es fácil y rápida de implementar, además de sólida y fácil de mantener.
Por lo tanto, a medida que está familiarizado con Struts 2, y la primavera, recomiendo:
1, Struts 2 como el marco de MVC de su proyecto, pero el uso de AJAX, si es necesario. También puede desarrollar sus interceptores para cumplir algunos requisitos comunes de su proyecto. (O, si tiene tiempo, puede aprender Spring MVC, ya que funciona bien con Spring framework, y tiene un mejor soporte de AJAX y RESTful. JSF no se recomienda, no porque no sea un marco excelente, sino que utiliza un conjunto de conceptos completos diferentes en comparación con Struts 2 y Spring MVC, y es difícil para una persona no calificada depurar)
2, solo use Spring jdbcTemplate como su capa de datos, use el patrón DAO para desacoplar. (O bien, puede aprender Hibernate o JPA como su marco ORM, si tiene tiempo)
3, utilice Spring IoC para gestionar sus objetos y la integración con Struts 2 e Hibernate, y gestionar las transacciones con las anotaciones de Spring.
- 1. Problemas con Spring Hibernate
- 2. Inserciones masivas con Spring/Hibernate
- 3. ¿Elige tecnologías "mejores" o más familiares para un nuevo proyecto?
- 4. OSGi vs Spring vs Struts vs EJB vs. Hibernate - una pregunta totalmente para novatos
- 5. NoClassDefFoundError con Spring maven hibernate org/hibernate/ejb/HibernatePersistence
- 6. Registrador recomendado para usar con Java, Hibernate y Spring
- 7. Inserciones por lotes con Hibernate & Spring
- 8. MySQL UTF8 con Hibernate 3 y Spring
- 9. ¿Cómo usar JodaTime con Spring e Hibernate?
- 10. Hibernate Search o Compass
- 11. Alternativas a Freemarker al usar Spring/Hibernate?
- 12. Spring + Hibernate + JPA
- 13. proyecto noob para aprender Spring/Hibernate
- 14. Hibernate NoSuchFieldError INSTANCE pero solo con Struts 1?
- 15. Hibernate con Tomcat vs Hibernate con JBoss
- 16. Spring: hibernate + ehcache
- 17. DAO, Spring e Hibernate
- 18. Spring vs Hibernate
- 19. Spring Hibernate maven POM
- 20. Relaciones entre Spring, Hibernate, JDBC
- 21. Primavera ORM o Hibernate
- 22. Encriptación de contraseña con Spring/Hibernate - Jasypt u otra cosa?
- 23. Hibernate o JPA o JDBC o?
- 24. Spring hibernate Transaction Logging
- 25. Spring + EntityManagerFactory + Hibernate Listeners + Injection
- 26. Spring, Hibernate, Blob perez loading
- 27. Anotación Hibernate o configuración XML
- 28. ¿Cómo habilitar Hibernate Interceptor cuando tengo mi Hibernate Transaction administrada por Spring?
- 29. Gestión automática de transacciones de Hibernate con Spring?
- 30. Hibernate 4 Multi-tenencia y Spring 3 Hibernate
cuál es el tamaño de su aplicación y su alcance. Esto le ayudará a sugerir lo que mejor se adapte a sus necesidades –