2011-03-05 46 views
5

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

+0

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 –

Respuesta

12

Esta es una composición rápida de una pila de J2EE que puede utilizar:

  1. Uso Struts2 para su capa del controlador

  2. 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.

  3. 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.

  4. Utilice la biblioteca de etiquetas Struts2 o JSTL en su JSP, que será su capa de vista.

  5. Use Maven para sus compilaciones y despliegues.

  6. 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.

  7. Si su aplicación requiere capacidades de búsqueda, use SOLR, un servicio REST construido sobre Lucene.

  8. En lugar de utilizar Struts2, también puede consultar Apache Wicket.

+1

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

0

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.

Cuestiones relacionadas