2 m0 37576963 m0_37576963 于 2017.09.06 10:29 提问

springMVC日期格式转换与mvc:annotation-driven 配置的问题
            小白写了一个简单的程序,但是发现了400错误,虽然解决了可是很不明白!

求大神解答一下!
有一个模型User里边有个sql.date日期类型的数据
并且使用了dateFormat注解

 @DateTimeFormat(pattern="yyyy-MM-dd")
    private Date date;
 <mvc:annotation-driven conversion-service="conversion"></mvc:annotation-driven>
    <bean id="conversion" class="org.springframework.context.support.ConversionServiceFactoryBean">
</bean>

xml配置如上时程序正常运行,可以进行CRUD操作
但是只配置

 <mvc:annotation-driven ></mvc:annotation-driven>

程序报400错误,又测试了下,发现不加@DateTimeFormat注解只配置上边这个mvc:annotation-driven又正常运行?
为什么啊?
mvc:annotation-driven配置不是默认提供了类型转换器支持么?
百度的说法是:mvc:annotation-driven配置 不是可以支持数据绑定支持,@NumberFormatannotation支持,@DateTimeFormat支持,等

他们两者什么关系啊?_
你们是怎么配置的啊?是我 软件问题还是其他配置错误了,还是代码...

3个回答

javawyt
javawyt   2017.09.06 11:14
已采纳

/mvc:annotation-driven
配置文件中, 此注解,自动封装mvc并驱动注解机制;
但注解要支持spring的haddler中已经封装的部分注解:举个例子 @Component,@Controller,@Service,@Repository等常规的注解;
你要用的注解,1、需要向mvc标签后引入一个自定义的bean,这个自定义的bean可以继承你的目标类,或者手写需要的类;

2、不通过mvc自动调用spring进行封装,单前提是你需要使用的目标类的jar已经导入系统中;

javawyt
javawyt 回复tas_yusheng: 目标注解(准备使用的注解)如果不是默认的,那么需要导入你需要的注解包。 虽然他们指向的都是同一个实例接口,但内部的方法不同啊。 类似于继承、多态的关系。
2 个月之前 回复
m0_37576963
m0_37576963 mvc:annotation-driven这个不是会自动创建ConversionService 实例么,为什么我默认的mvc配置,使用注解会报错
2 个月之前 回复
congge_1993
congge_1993   2017.09.06 11:17
javawyt
javawyt   2017.09.06 11:19

这是该标签默认的:创建的conversionService实例就是一个FormattingConversionServiceFactoryBean

m0_37576963
m0_37576963 是标签内部默认创建了实例,还需要我们配置这个FormattingConversionServiceFactoryBean对么?
2 个月之前 回复
m0_37576963
m0_37576963 我现在好像是只配置一个mvc标签不带其他属性,不会提供那个默认的实例,是我理解错了?
2 个月之前 回复
m0_37576963
m0_37576963 对啊,默认的有一个实例,就代表可以使用注解了啊?然后为什么我使用注解会报错
2 个月之前 回复
Csdn user default icon
上传中...
上传图片
插入图片