У меня есть несколько контроллеров с различными обработчиками запросов в моем проекте Spring 3.x (все на основе аннотаций с использованием @Controller
и @RequestMapping
).
В настоящее время контекст приложения просто определяет DefaultAnnotationHandlerMapping
и AnnotationMethodHandlerAdapter
бобы.Если я правильно понимаю, их также можно заменить на <mvc:annotation-driven/>
.
. Существующие контроллеры в основном заполняют модель, которая передается через параметры, а затем возвращают имя представления в виде строки.Отображение выполняется стандартными DefaultRequestToViewNameTranslator
и InternalResourceViewResolver
bean-компонентами.
Теперь я хотел бы представить новый контроллер, для которого необходимы HttpMessageConverter
(это будет MappingJacksonHttpMessageConverter
) и HandlerExceptionResolver
специфичные для этого контроллера.
Существующие контроллеры не должны быть затронуты каким-либо образом.Ни преобразователь сообщений не должен преобразовывать их запросы и ответы, ни обработчик исключений не должен обрабатывать какие-либо исключения.
Существует ли способ сделать это без удаления конфигурации нового аннотации для нового контроллера?Есть ли способ настроить конвертер сообщений и определитель исключений специально для одного контроллера, не отказываясь от маршрутизации URL на основе @RequestMapping
?
Или есть способ выбрать конфигурацию конвертера / распознавателя, используяаннотация на контроллере?
Если нет, каков следующий лучший подход для этого?