Vengo de una experiencia con frameworks MVC y recientemente comencé a interesarme en Spring. Creo que es un buen marco, por lo que he visto hasta ahora. De todos modos, en mis experiencias pasadas estaba acostumbrado a un estilo de programación diferente, especialmente para la estructura de los controladores. La forma en que solía emplear controladores era diferente. Por supuesto, solía mapear de alguna manera una solicitud para ellos (piense en estructuras con varias acciones), pero luego lo que realmente me gustó fue que podía pasar acciones a otros controladores, entonces ellos seguirían siendo el controlador "activo" y esos serían responsables de manejar la próxima solicitud, puede venir de una solicitud HTTP o de otra cosa. Disfruté esto porque era muy bueno mantener el estado de una sesión de usuario de forma automática, haciendo que el código esté limpio y separando las diferentes situaciones en diferentes controladores. Ahora leí Spring Web MVC y los documentos solo hablan sobre los controladores que responden a las solicitudes, pero no mantienen el estado y no hay información sobre el encadenamiento de los controladores (aparte del reenvío) y la retención del estado.Programación de controladores de primavera
¿Cómo maneja estos temas en la primavera, hay alguna manera diferente, o debo implementar mis propios controladores con estado y clases de estado/acción?
Espero que mi pregunta sea lo suficientemente clara y me disculpo por su amplitud.
¿En qué situaciones desearía tener controladores de encadenamiento como este? – OrangeDog
Normalmente relaciono cada actividad simple con un controlador, de modo que puedo aislar la lógica de esa acción (una cantidad de consultas, vistas y manipulaciones de datos).Luego, cuando el usuario ingresa a otra actividad, generalmente reenvió todo al controlador que lo hace. Por lo tanto, es más fácil de mantener y puede reutilizar el código. – gotch4
Pongamos un ejemplo: supongamos que tengo un controlador que se encarga de mostrar una vista con números de teléfono y le permite elegir, agregar, editar o eliminarlos. En cualquier situación en la que necesite elegir un número en mi aplicación, reenviaré a este controlador y luego devolveré el número elegido. Eso es lo que quise decir – gotch4