Spring家族中的那些意义不怎么明显的配置

2018-10-29  本文已影响5人  帅可儿妞

还是习惯问题,之前遇到问题就喜欢查,用过之后就不管了,结果没过多长时间就忘得一干二净,就像没有见过一样,今天心情好,就写一个刚才看到的,意义对我来说却不怎么明显的,记录吧,见到就贴上来。。。

一、SpringMVC的配置

  1. <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的配置可以参考官档

二、Spring的配置

上一篇下一篇

猜你喜欢

热点阅读