我将Spring Framework更新4.3.9.RELEASE
到5.0.0.RELEASE
,令我惊讶的是,自5.0版本以来,类WebMvcConfigurerAdapter已被标记为已弃用。如文档所述:
不推荐使用。
从5.0版开始,WebMvcConfigurer具有默认方法(由Java 8基准实现),可以直接实现而无需此适配器
我试图更改类定义以实现WebMvcConfigurer。
@Configuration
@EnableWebMvc
@ComponentScan(basePackages = "net.nichar.app")
public class WebConfiguration extends WebMvcConfigurerAdapter {
@Override
public void configureDefaultServletHandling(DefaultServletHandlerConfigurer configurer) {
configurer.enable();
}
@Override
public void addResourceHandlers(final ResourceHandlerRegistry registry) {
registry.addResourceHandler("/resources/**").addResourceLocations("/resources/");
}
@Override
public void addCorsMappings(CorsRegistry registry) {
registry.addMapping("/**")
.allowedMethods("HEAD", "GET", "PUT", "POST", "DELETE", "PATCH");
}
}
我使用Maven导入了以下相同版本的工件:
尽管我遵循了Spring doumention,但我必须做错什么,因为一旦尝试运行该应用程序,就会引发错误:
2017-10-11 22:42:03 [localhost-startStop-1]上下文初始化期间遇到警告异常-取消刷新尝试:org.springframework.beans.factory.BeanCreationException:创建在组织中定义的名称为'requestMappingHandlerAdapter'的bean时出错。 springframework.web.servlet.config.annotation.DelegatingWebMvcConfiguration:通过工厂方法实例化Bean失败;嵌套的异常是org.springframework.beans.BeanInstantiationException:无法实例化[org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter]:工厂方法'requestMappingHandlerAdapter'引发了异常;嵌套的异常是java.lang.NoClassDefFoundError:com / fasterxml / jackson / databind / exc / InvalidDefinitionException
2017年10月11日10:42:03 ODP。org.apache.catalina.core.StandardContext listenerStart严重:向上下文org.springframework.web.context.ContextLoaderListener org.springframework.beans.factory.BeanCreationException的上下文实例发送上下文初始化事件的异常:创建名称为“ requestMappingHandlerAdapter”的bean时出错在org.springframework.web.servlet.config.annotation.DelegatingWebMvcConfiguration中:通过工厂方法实例化Bean失败;嵌套的异常是org.springframework.beans.BeanInstantiationException:无法实例化[org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter]:工厂方法'requestMappingHandlerAdapter'引发了异常;嵌套的异常是java.lang.NoClassDefFoundError:com / fasterxml / jackson / databind / exc / InvalidDefinitionException在......
您能帮我解决吗?随时要求更多详细信息。
此问题与无关WebMvcConfigurer
(您应该从问题中删除该部分,因为它会误导他人)。
唯一的例外是Jackson,您很可能没有使用正确的Jackson版本:
java.lang.NoClassDefFoundError:
com/fasterxml/jackson/databind/exc/InvalidDefinitionException
如迁移文档所述, Spring Framework 5需要Jackson 2.9+ 。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句