如何在Spring boot中使用注释的参数解析器?

如何在Spring boot中使用注释的参数解析器?,spring,spring-boot,Spring,Spring Boot,我想在Spring boot中使用参数解析器。我该怎么做呢? 它是用XML完成的,如下所示 <mvc:annotation-driven> <mvc:argument-resolvers> <bean class="nl.t42.spring31.ValidatingRequestBodyMethodArgumentResolver"/> </mvc:argument-resolvers> </mvc:anno

我想在Spring boot中使用
参数解析器
。我该怎么做呢? 它是用XML完成的,如下所示

<mvc:annotation-driven>
    <mvc:argument-resolvers>
        <bean class="nl.t42.spring31.ValidatingRequestBodyMethodArgumentResolver"/>
    </mvc:argument-resolvers>
</mvc:annotation-driven>

请参见

你可以做:

@Configuration
@EnableWebMvc
public class WebConfig extends WebMvcConfigurerAdapter {

  @Override
  public void addArgumentResolvers(List<HandlerMethodArgumentResolver> argumentResolvers) {
      // equivalent to <mvc:argument-resolvers>
  }


  @Override
  public void configureMessageConverters(List<HttpMessageConverter<?>> converters) {
      // equivalent to <mvc:message-converters>
  }
}
@配置
@EnableWebMvc
公共类WebConfig扩展了WebMVCConfigureAdapter{
@凌驾
public void addArgumentResolver(列出ArgumentResolver){
//相当于
}
@凌驾

public void configureMessageConverters(List当我想将我的spring mvc转换为spring bootUseWebMVCConfigureAdapter时,我遇到了与Datatables相同的问题,所以我需要将我的dispatcher servlet xml转换为java bean配置,我是这样做的:

从dispatcher.servlet.xml:

       <mvc:argument-resolvers>
         <bean 
 class="com.github.dandelion.datatables.extras.spring3.ajax.DatatablesCriteriasMethodArgu 
        mentResolver"/>
     </mvc:argument-resolvers>

要访问java bean配置,请执行以下操作:

@Configuration
public class WebConfig extends WebMvcConfigurerAdapter {

        @Override
        public void addArgumentResolvers(List<HandlerMethodArgumentResolver> argumentResolvers) {
            // equivalent to <mvc:argument-resolvers>
            argumentResolvers.add(resolver());
        }


        private HandlerMethodArgumentResolver resolver() {
            return new com.github.dandelion.datatables.extras.spring3.ajax.DatatablesCriteriasMethodArgumentResolver();
        }
    }
@配置
公共类WebConfig扩展了WebMVCConfigureAdapter{
@凌驾
public void addArgumentResolver(列出ArgumentResolver){
//相当于
ArgumentResolver.add(resolver());
}
私有HandlerMethodArgumentResolver解析程序(){
返回新的com.github.dandelion.datatables.extras.spring3.ajax.DatatablesCriteriasMethodArgumentResolver();
}
}

如果您只是将其注册为bean,它可能会被自动处理。选项1不太重要:“@EnableWebMvc将覆盖引导默认值,您可能希望跳过它。”实际上,在Spring Boot中不应该出现此注释。它可能会导致未接受的行为。考虑@bogdan.rusu注释是很重要的。