我的Spring 3.x项目中有许多带有各种请求处理程序的控制器(所有基于注释的,使用@Controller和@RequestMapping).
目前,应用程序上下文只定义DefaultAnnotationHandlerMapping和AnnotationMethodHandlerAdapterbean.如果我理解正确,这些也可以替换为<mvc:annotation-driven/>.
现有的控制器主要填充通过参数传入的模型,然后将视图名称作为字符串返回.映射由标准DefaultRequestToViewNameTranslator和InternalResourceViewResolverbean完成.
现在我想介绍一个新的控制器,它需要一个HttpMessageConverter(它将是一个MappingJacksonHttpMessageConverter)和一个HandlerExceptionResolver特定的控制器.
不应以任何方式影响现有控制器.它们的请求和响应都不应由消息转换器转换,异常解析器也不应处理任何异常.
有没有办法在不删除新控制器的基于注释的配置的情况下执行此操作?有没有办法专门为一个控制器设置消息转换器和异常解析器,而不放弃基于的URL路由@RequestMapping?
或者有没有办法在控制器上使用注释选择转换器/解析器配置?
如果没有,那么下一个最佳方法是什么?