[org.springframework.web.context.ContextLoader]Context initialization failedorg.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter#0' ... ... Caused by: org.springframework.beans.factory.CannotLoadBeanClassException: Cannot find class [org.springframework.http.converter.json.MappingJacksonHttpMessageConverter] for bean with name 'org.springframework.http.converter.json.MappingJacksonHttpMessageConverter#2aa148c0' ... ... Caused by: java.lang.ClassNotFoundException: org.springframework.http.converter.json.MappingJacksonHttpMessageConverter ... ...
原因是Spring 3.x 和4.X处理JSON的一个类不一样,而这个东西又配置在xml文件中,所以编译时又无法发现
spring3.x是org.springframework.http.converter.json.MappingJacksonHttpMessageConverter
spring4.x是org.springframework.http.converter.json.MappingJackson2HttpMessageConverter
1. 查找替换所有XML中名字
2. 同时加入最新的FastJackson依赖
com.fasterxml.jackson.core jackson-core 2.8.5 com.fasterxml.jackson.core jackson-databind 2.8.5 com.fasterxml.jackson.core jackson-annotations 2.8.5
3. 问题解决
不能提前在编译时发现此类错误,而且出错时还很难查找, 这是我不喜欢XML配置的一个原因。