Spring家族中的那些意义不怎么明显的配置
2018-10-29 本文已影响5人
帅可儿妞
还是习惯问题,之前遇到问题就喜欢查,用过之后就不管了,结果没过多长时间就忘得一干二净,就像没有见过一样,今天心情好,就写一个刚才看到的,意义对我来说却不怎么明显的,记录吧,见到就贴上来。。。
一、SpringMVC的配置
-
<mvc:annotation-driven />
- 这个配置都干了什么事情呢?
- 在官方文档中说这个配置是一个ConversionService,即这是一个(类型)转换的服务,这个服务是在控制器的模型需要绑定的时候就会被使用,即我们在控制器的参数和前台传递的参数一致的时候,或者参数封装在一个参数对象中,SpringMVC会自动把前台传递过来的参数的值赋值到对应的变量上,而这个赋值之间的数据类型转换就是这个配置起作用的;
- 如果没有配置,会自动注册通用的默认的格式化器(formatters)和转换器(converters)。如果你把这个配置加入都SpringMVC的配置中,那么默认的配置将会被@NumberFormat和@DateTimeFormat所取代,并且如果你使用了Joda Time,那么也会安装对其之完全支持;
- 自定义自己的格式化器(formatters)和转换器(converters):
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:mvc="http://www.springframework.org/schema/mvc" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation=" http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd"> <mvc:annotation-driven conversion-service="conversionService"/> <bean id="conversionService" class="org.springframework.format.support.FormattingConversionServiceFactoryBean"> <property name="converters"> <set> <bean class="org.example.MyConverter"/> </set> </property> <property name="formatters"> <set> <bean class="org.example.MyFormatter"/> <bean class="org.example.MyAnnotationFormatterFactory"/> </set> </property> <property name="formatterRegistrars"> <set> <bean class="org.example.MyFormatterRegistrar"/> </set> </property> </bean> </beans>
- 至于conversionService的配置可以参考官档;
- 这个配置都干了什么事情呢?