【发布时间】:2017-10-11 20:44:55
【问题描述】:
我将 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-webmvc
- spring-orm
虽然我遵循了 Spring doumention,但我一定做错了,因为一旦我尝试运行应用程序,就会抛出错误:
2017-10-11 22:42:03 [localhost-startStop-1] WARN 上下文初始化期间遇到异常 - 取消刷新尝试: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
2017 年 10 月 11 日 10:42:03 ODP。 org.apache.catalina.core.StandardContext listenerStart 严重:向类 org.springframework.web.context.ContextLoaderListener 的侦听器实例发送上下文初始化事件的异常 org.springframework.beans.factory.BeanCreationException:创建 org.springframework.web.servlet.config.annotation.DelegatingWebMvcConfiguration 中定义的名称为“requestMappingHandlerAdapter”的 bean 时出错:通过工厂方法进行 bean 实例化失败;嵌套异常是 org.springframework.beans.BeanInstantiationException:无法实例化 [org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter]:工厂方法“requestMappingHandlerAdapter”抛出异常;嵌套异常是 java.lang.NoClassDefFoundError: com/fasterxml/jackson/databind/exc/InvalidDefinitionException 在......
你能帮我解决它吗?随时要求更多详细信息。
【问题讨论】:
标签: java spring spring-mvc