<mvc:annotation-driven /> 是一种简写形式,完全可以手动配置替代这种简写形式,简写形式可以让初学都快速应用默认配置方案。<mvc:annotation-driven /> 会自动注册DefaultAnnotationHandlerMapping与AnnotationMethodHandlerAdapter 两个bean,是springMVC为@Controllers分发请求所必须的。
并提供了:数据绑定支持,@NumberFormatannotation支持,@DateTimeFormat支持,@Valid支持,读写XML的支持(JAXB),读写JSON的支持(Jackson)。
后面,我们处理响应ajax请求时,就使用到了对json的支持。
大家仔细看,这里定义了一个bean,然后这个bean的作用实际上就是将我们的controller的出参转换为json的。大家看这个bean的名字就能够明白了。好了,这其实是当我们的方法上配置了@ResponseBody注解的时候才会生效。
也就是一个自定义的转换类。
当然,我们自己也能写这样的东西。
并提供了:数据绑定支持,@NumberFormatannotation支持,@DateTimeFormat支持,@Valid支持,读写XML的支持(JAXB),读写JSON的支持(Jackson)。
后面,我们处理响应ajax请求时,就使用到了对json的支持。
这个标签里面允许出现如下的四种内置标签:
- message-converters
- argument-resolvers
- async-support
- return-value-handlers
<mvc:message-converters>
<bean class="com.alibaba.fastjson.support.spring.FastJsonHttpMessageConverter">
<property name="supportedMediaTypes">
<value>*/*</value>
</property>
</bean>
</mvc:message-converters>
大家仔细看,这里定义了一个bean,然后这个bean的作用实际上就是将我们的controller的出参转换为json的。大家看这个bean的名字就能够明白了。好了,这其实是当我们的方法上配置了@ResponseBody注解的时候才会生效。
也就是一个自定义的转换类。
当然,我们自己也能写这样的东西。
简单说明
上面我们说到了四种的内置标签,1是用来做出参转换的。2呢,是入参转换,3是异步支持,4,我也不太清楚。
这里需要的bean都是可以自定义的,当然,spring为我们留了各种各样的接口,就是为了让我们去更多的定制自己的功能。