Tengo un número de controladores con varios manejadores de solicitudes en mi proyecto Spring 3.x (todos basados en anotaciones, usando @Controller
y @RequestMapping
).Configuración de una configuración mixta para controladores Spring MVC basados en anotación
Actualmente, el contexto de la aplicación solo define DefaultAnnotationHandlerMapping
y AnnotationMethodHandlerAdapter
beans. Si lo entiendo correctamente, estos también podrían reemplazarse por <mvc:annotation-driven/>
.
Los controladores existentes en su mayoría llenan un modelo que se pasa a través de los parámetros y luego devuelven un nombre de vista como una cadena. El mapeo se realiza por estándar DefaultRequestToViewNameTranslator
y InternalResourceViewResolver
frijoles.
Ahora me gustaría presentar un nuevo controlador, que necesita un HttpMessageConverter
(será un MappingJacksonHttpMessageConverter
) y un HandlerExceptionResolver
específico para este controlador.
Los controladores existentes no deberían verse afectados de ninguna manera. El convertidor de mensajes tampoco debe convertir sus solicitudes y respuestas, ni el solucionador de excepciones debe manejar ninguna excepción.
¿Hay alguna manera de hacer esto sin descartar la configuración basada en anotaciones para el nuevo controlador? ¿Hay alguna manera de configurar el convertidor de mensajes y el sistema de resolución de excepciones específicamente para un controlador, sin renunciar al enrutamiento de URL basado en @RequestMapping
?
¿O hay alguna forma de elegir una configuración de convertidor/resolver con una anotación en el controlador?
Si no, ¿cuál es el siguiente mejor enfoque para hacer esto?
@RequestMapping se utiliza casi exclusivamente en los métodos, todavía no lo he visto usado en la clase de un controlador en este proyecto. Realmente no hay nada interesante en el contexto de la aplicación. Son solo declaraciones estándar/vacías de DefaultRequestToViewNameTranslator, InternalResourceViewResolver, DefaultAnnotationHandlerMapping, AnnotationMethodHandlerAdapter. –