【问题标题】:WebMvcConfigurerAdapter and annotation-driven conflict?WebMvcConfigurerAdapter 和注解驱动冲突?
【发布时间】:2014-11-06 23:58:47
【问题描述】:

我正在尝试在 SpringMVC 中实现转换器并像在 How to configure Spring ConversionService with java config? 并且发生了一些奇怪的事情。

ApplicationConfiguration.java

@Configuration
@EnableWebMvc
public class ApplicationConfiguration extends WebMvcConfigurerAdapter {

    @Override
    public void addFormatters(FormatterRegistry formatterRegistry) {
        formatterRegistry.addConverter(new StringToFoo());
        formatterRegistry.addConverter(new FooToString());
    }
}

我有一个带有表单的 jsp,可以将 Foo 对象传递给控制器​​。 我在 xml 中有 <mvc:annotation-driven/> 和组件扫描。

原来我引用的代码是在init时执行的,但是从jsp传给控制器的时候没有调用转换器,

当我删除注释驱动时,一切正常,转换器在我的控制器中被正确调用。但是,在我将 WebMvcConfigurerAdapter 添加到项目之前,我必须将注解驱动添加到 init servlet。

所以我的问题:

注解驱动是做什么的? WebMvcConfigurerAdapter(或使用的注解)是否与注解驱动冲突?

【问题讨论】:

    标签: java spring-mvc annotations


    【解决方案1】:

    @EnableWebMvc 与注解驱动的作用相同,只是在 java 中而不是在 xml 中。当您同时拥有两者时,它似乎提供了注释驱动的优先级,因此未注册转换器。另请参阅此问题EnableWebMvc annotation meaning

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-10-22
      • 1970-01-01
      • 2023-03-30
      相关资源
      最近更新 更多