MVC: anotación impulsada etiqueta de hacer un trabajo extra a partir del contexto: el componente de exploración de etiquetas
La etiqueta registra el Handler Mapping y adaptador Handler requerido para enviar peticiones a su @Controllers:
etiqueta ayuda a registrar los siguientes componentes.
DefaultAnnotationHandlerMapping - Esta es una implementación de HandlerMapping que asigna las solicitudes HTTP a los métodos de controlador definidos mediante la anotación @RequestMapping.
AnnotationMethodHandlerAdapter - Es responsable de escanear los controladores para identificar métodos (y parámetros) anotados con anotaciones @MVC. Escanea y almacena en caché los métodos del controlador anotados con @RequestMapping. También maneja las anotaciones @RequestParam, @ModelAttribute, @SessionAttributes y @InitBinder.
ConfigurableWebBindingInitializer - El inicializador para la Carpeta de datos web. Ayuda en forma declarativa configuración de la carpeta web con validadores, servicios de conversión, los editores de propiedades, etc.
LocalValidatorFactoryBean - Implementa la interfaz validador y permite la validación JSR303. Esto se inyecta en ConfigurableWebBindingInitializer. FormattingConversionServiceFactoryBean: una fábrica de conversión que devuelve servicios de conversión para objetos básicos como la fecha y los números. Esta fábrica se inyecta nuevamente en ConfigurableWebBindingInitializer.
convertidores Mensaje
ByteArrayHttpMessageConverter - Un convertidor de mensajes de solicitud HTTP que lee un cuerpo del mensaje HTTP y devuelve un flujo de bytes. También puede leer un flujo de bytes y construir un cuerpo de respuesta. Se utiliza para recibir y enviar documentos como PDF, XLS, etc.
StringHttpMessageConverter - Un convertidor de mensajes de solicitud HTTP que lee un cuerpo de solicitud de texto plano y lo vincula a un objeto String. Y viceversa con respuesta.
FormHttpMessageConverter - Un convertidor de mensajes de solicitud HTTP que lee un cuerpo de solicitud codificado de formulario y lo vincula a un objeto de enlace de formulario.
SourceHttpMessageConverter - Un convertidor de solicitud HTTP que convierte un cuerpo de mensaje XML a/desde Objeto de enlace.
Si no usamos mvc: etiqueta accionada por anotación, entonces tenemos que registrar estos componentes manualmente en un archivo xml para poder usarlos, lo que resulta en mucho trabajo adicional.
Desde Spring 3.1, los beans configurados son RequestMappingHandlerMapping y RequestMappingHandlerAdapter –
Esta respuesta no es del todo correcta. Los beans de asignación de controlador predeterminados 'BeanNameUrlHandlerMapping' y' DefaultAnnotationHandlerMapping' y los beans adaptadores de controlador predeterminados 'HttpRequestHandlerAdapter',' SimpleControllerHandlerAdapter' y 'AnnotationMethodHandlerAdapter' siempre se crean independientemente de si proporciona la etiqueta' mvc: annotationDriven' o no [Docs] (http://docs.spring.io/spring/docs/current/javadoc-api/org/springframework/web/servlet/DispatcherServlet.html). –