<mvc:annotation-driven/>
相当于注册了DefaultAnnotationHandlerMapping和AnnotationMethodHandlerAdapter两个bean,配置一些messageconverter。即解决了@Controller注解的使用前提配置。
<context:annotation-config/>
1)隐式地向Spring容器中注册AutowiredAnnotationBeanPostProcessor、CommonAnnotationBeanPostProcessor、PersistenceAnnotationBeanPostProcessor 及 equiredAnnotationBeanPostProcessor 这 4 个 BeanPostProcessor。
在配置文件中使用<context:annotationconfig/>之前,必须在 <beans> 元素中声明 context 命名空间<context:component-scan/>。
2)是对包进行扫描,实现注释驱动Bean定义,同时将bean自动注入容器中使用。即解决了@Controller标识的类的bean的注入和使用。
<context:component-scan/>
配置项不但启用了对类包进行扫描以实施注释驱动 Bean 定义的功能,同时还启用了注释驱动自动注入的功能(即还隐式地在内部注册了 AutowiredAnnotationBeanPostProcessor 和 CommonAnnotationBeanPostProcessor),因此当使用 <context:component-scan/> 后,除非需要使用PersistenceAnnotationBeanPostProcessor和equiredAnnotationBeanPostProcessor两个Processor的功能(例如JPA等)否则就可以将 <context:annotation-config/> 移除了。
(转:http://bbs.shopxx.net/read-htm-tid-10645.html)
spring mvc <mvc:annotation-driven />会自动启动Spring MVC的注解功能,但实际它做了哪些工作呢?
<bean class="org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping">
<property name="order" value="1" />
</bean>
<bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter">
<property name="webBindingInitializer">
<bean class="org.springframework.web.bind.support.ConfigurableWebBindingInitializer">
<property name="conversionService" ref="conversionService" />
<property name="validator" ref="validator" />
</bean>
</property>
</bean>
<bean id="conversionService" class="org.springframework.samples.petclinic.util.PetclinicConversionServiceFactory" />
<bean id="validator" class="org.springframework.validation.beanvalidation.LocalValidatorFactoryBean" />
分享到:
相关推荐
- **排除默认拦截器**:如果`<mvc:annotation-driven />`包含默认拦截器,可以考虑使用`<mvc:default-servlet-handler>`或`<mvc:annotation-driven enable-matrix-variables="false" />`来禁用它们。 - **调整拦截器...
在Spring MVC框架中,`mvc:annotation-driven`和`mvc:message-converters`是两个非常重要的元素,它们在处理基于注解的控制器和数据转换方面起着关键作用。本篇文章将深入探讨这两个组件的工作原理以及如何在实际...
在Spring MVC框架中,`mvc:annotation-driven`是Spring MVC配置中的一个重要元素,它使得我们的应用能够支持基于注解的控制器、数据绑定、格式化转换器和服务端验证等功能。这篇博客将深入探讨`mvc:annotation-...
首先,`<mvc:annotation-driven/>`的作用是自动配置Spring MVC,启用对处理方法注解的支持,如`@RequestMapping`、`@RequestParam`、`@ModelAttribute`等。通过这个元素,我们可以避免编写大量的XML配置,转而采用...
`<mvc:annotation-driven>`则启用了Spring MVC的注解支持。 最后,`web.xml`是应用的部署描述符,配置`DispatcherServlet`以便处理所有HTTP请求: ```xml <web-app> <servlet-name>dispatcher</servlet-name> ...
深入源码分析,`<mvc:annotation-driven />` 是Spring MVC中用于启用注解驱动的配置元素,它会自动配置一些关键组件,包括消息转换器。`MvcNamespaceHandler` 是处理这个注解的命名空间处理器,而`...
- **XML配置文件**:题目中提到的异常信息提示`mvc:annotation-driven`元素没有子元素,这是由于`mvc:annotation-driven`的配置方式不正确所致。 - **修正方式**:根据Spring 3.0的规范,`mvc:annotation-driven`...
例如,`<mvc:annotation-driven>`元素用于启用基于注解的控制器支持,这意味着Spring MVC会自动扫描并处理带有`@Controller`注解的类。而`<context:component-scan>`则用于扫描指定包下的所有类,自动发现带有`@...
总的来说,解决SpringMVC中`@ResponseBody`注解返回中文乱码问题的关键在于正确配置`HttpMessageConverter`,确保其支持UTF-8编码,并将这些配置放在`<mvc:annotation-driven>`元素之前。通过上述方法,可以有效地...
3. 配置转换器:在Spring MVC配置中,你可以通过`<mvc:annotation-driven>`标签启用数据绑定和类型转换功能,并可以自定义转换器的优先级或添加新的转换器。 ```xml <mvc:annotation-driven> <mvc:converters> <!...
`mvc.dtd`是Spring MVC模块的DTD文件,提供了如`<mvc:annotation-driven>`、`<mvc:view-controller>`等元素,用于声明式地配置控制器、视图解析等。 `oxm.dtd`涉及对象/XML映射(Object/XML Mapping),如JAXB或...
首先,我们来看`<mvc:annotation-driven/>`标签,它是Spring MVC配置中用于启用基于注解的控制器的关键元素。在Spring的内部,这个标签会被`AnnotationDrivenBeanDefinitionParser`解析,进而创建并配置一系列的...
Spring MVC的核心配置`<mvc:annotation-driven/>`在解析时,会创建`RequestMappingHandlerMapping`和`RequestMappingHandlerAdapter`这两个关键组件。前者负责将`@RequestMapping`注解的路由信息与控制器方法关联,...
<mvc:annotation-driven/> <!--视图解析--> <bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver"> ...
需要在`<mvc:annotation-driven>`或自定义`<bean>`中配置这个消息转换器。 ```xml <mvc:annotation-driven> <mvc:message-converters register-defaults="true"> <!-- 可以配置特定的ObjectMapper,如果不配置...
- `<mvc:annotation-driven>`:启用SpringMVC注解驱动,这是使用SpringMVC框架的基本配置之一。 - `<mvc:message-converters>`:指定要使用的消息转换器。 - `<ref bean="mappingJackson2HttpMessageConverter"/>...
XSD文件如`spring-mvc.xsd`定义了Spring MVC配置的元素和属性,例如`<mvc:annotation-driven>`用于启用基于注解的控制器,`<bean>`定义了一个可被Spring管理的Bean。 2. **Spring AOP**: Spring AOP模块提供了...
`mvc:annotation-driven`则是开启Spring MVC的注解驱动,支持我们在Controller方法上使用@RequestMapping等注解。 除了基本配置,我们还可以配置拦截器(Interceptor)、异常处理器(HandlerExceptionResolver)...
</mvc:annotation-driven> ``` 5. 测试:现在,当客户端向 `/person` URL发起GET请求时,Spring MVC会将`getPerson`方法返回的`Person`对象自动转换为JSON格式并返回给客户端。 在提供的`JavaJson`压缩包中,...
2. **`<mvc:annotation-driven>`**: 此元素启用Spring MVC对注解的处理,使得我们可以在控制器类的方法上使用像@RequestMapping这样的注解来处理HTTP请求。它还提供了数据绑定、转换服务、验证等特性。 3. **`...