mvc entre diferencias java spring spring-mvc struts

java - diferencias - Diferencia entre Spring MVC y Struts MVC



struts 2 (6)

¿Cuál es la principal diferencia entre Spring MVC y Struts MVC?


El marco web MVC de Spring está diseñado en torno a un DispatcherServlet que distribuye solicitudes a los manejadores, con asignaciones de manejadores configurables, resolución de vista, resolución de tema y configuración local, así como compatibilidad con la carga de archivos. El controlador predeterminado es una interfaz de controlador muy simple, que solo ofrece un método ModelAndView handleRequest (solicitud, respuesta). Esto ya se puede usar para los controladores de aplicaciones, pero preferirá la jerarquía de implementación incluida, que consiste en, por ejemplo, AbstractController, AbstractCommandController y SimpleFormController. Los controladores de aplicaciones generalmente serán subclases de esos. Tenga en cuenta que puede elegir una clase base apropiada: si no tiene un formulario, no necesita un controlador de formulario. Esta es una gran diferencia con Struts


La principal diferencia entre Spring MVC y Struts es la siguiente: Spring MVC está ligeramente acoplado al framework mientras que Struts está estrechamente acoplado. Para la aplicación empresarial, necesita construir su aplicación de manera flexible, ya que haría que su aplicación sea más reutilizable y sólida, así como distribuida.


La principal diferencia entre Struts y Spring MVC es la diferencia entre la Programación Orientada a Aspectos (AOP) y la Programación Orientada a Objetos (OOP).

Spring hace que la aplicación se acople débilmente mediante el uso de Dependency Injection. El núcleo del Spring Framework es el contenedor IoC.

OOP puede hacer todo lo que AOP hace, pero diferente enfoque. En otras palabras, AOP complementa OOP al proporcionar otra forma de pensar acerca de la estructura del programa.

Prácticamente, cuando desee aplicar los mismos cambios para muchos archivos. Debería agotarse el trabajo con Struts para agregar el mismo código para toneladas de archivos. En su lugar, Spring escribe nuevos cambios en otro lugar e inyecta los archivos.

Algunas terminologías relacionadas de AOP son preocupaciones transversales, Aspect, Inyección de Dependencia ...


Si desea comparar Spring MVC con puntales, considere a continuación el beneficio de Spring MVC sobre Struts.

  1. Spring proporciona una división muy clara entre los controladores, los modelos JavaBean y las vistas.
  2. Spring''s MVC es muy flexible. A diferencia de Struts, que fuerza a los objetos de Acción y Forma a convertirse en herencia concreta (lo que le quita la oportunidad única de herencia concreta en Java), Spring MVC se basa completamente en interfaces. Además, casi todas las partes del marco Spring MVC se pueden configurar a través de la conexión de su propia interfaz. Por supuesto, también ofrecemos clases de conveniencia como una opción de implementación.
  3. Spring, al igual que WebWork, proporciona interceptores y controladores, lo que facilita el factor de comportamiento común al manejo de muchas solicitudes.
  4. Spring MVC es verdaderamente agnóstico. No te presionan para usar JSP si no quieres; puede usar Velocity, XLST u otras tecnologías de visualización. Si desea utilizar un mecanismo de vista personalizado, por ejemplo, su propio lenguaje de plantillas, puede implementar fácilmente la interfaz de Spring View para integrarlo.
  5. Los controladores de resorte se configuran a través de IoC como cualquier otro objeto. Esto hace que sean fáciles de probar y están maravillosamente integrados con otros objetos administrados por Spring.
  6. Los niveles web Spring MVC son generalmente más fáciles de probar que los niveles web Struts, debido a que se evita la herencia de concreto forzado y la dependencia explícita de los controladores en el servlet del despachador.
  7. El nivel web se convierte en una capa delgada en la parte superior de una capa de objeto de negocio. Esto fomenta las buenas prácticas. Struts y otros marcos web dedicados lo dejan solo en la implementación de sus objetos comerciales; Spring proporciona un marco integrado para todos los niveles de su aplicación

Spring MVC está profundamente integreada en Spring, Struts MVC no lo es.


Spring proporciona una división muy clara entre los controladores, los modelos JavaBean y las vistas.