Spring3X升级到Spring4X时,出现的问题

Posted 牵着妞去散步

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Spring3X升级到Spring4X时,出现的问题相关的知识,希望对你有一定的参考价值。

1.1、异常描述

Description Resource    Path    Location    Type
Class ‘org.springframework.http.converter.json.MappingJacksonHttpMessageConverter‘ not found [config set: testweba/web-context] spring-mvc.xml                  
/testweba/src/main/resources    line 13 Spring Beans Problem

1.2、原因分析

Spring3升级到Spring4时, 运行时出现找不到MappingJacksonHttpMessageConverter的情况
原因是Spring 3.x 和4.X处理JSON的一个类不一样,而这个东西又配置在xml文件中,所以编译时又无法发现

1.3 解决办法

spring3.x是org.springframework.http.converter.json.MappingJacksonHttpMessageConverter

spring4.x是org.springframework.http.converter.json.MappingJackson2HttpMessageConverter

  1. 查找替换所有XML中名字
  2. 同时加入最新的FastJackson依赖

2.1 异常描述

Description Resource    Path    Location    Type
Build path is incomplete. Cannot find class file for com/fasterxml/jackson/core/JsonGenerator   spring-mvc.xml  /testweba/src/main/resources    line 13 Spring AOP Problem

2.2 原因分析

Spring 4.x 需要依赖的相关FastJackson jar

2.3 解决办法

<dependency>
    <groupId>com.fasterxml.jackson.core</groupId>
    <artifactId>jackson-annotations</artifactId>
    <version>2.8.0</version>
</dependency>
<dependency>
    <groupId>com.fasterxml.jackson.core</groupId>
    <artifactId>jackson-core</artifactId>
    <version>2.8.8</version>
</dependency>
<dependency>
    <groupId>com.fasterxml.jackson.core</groupId>
    <artifactId>jackson-databind</artifactId>
    <version>2.8.8</version>
</dependency>

或者直接引入总的依赖包名

<dependency>
    <groupId>com.fasterxml.jackson.module</groupId>
    <artifactId>jackson-module-jaxb-annotations</artifactId>
    <version>2.8.8</version>
</dependency>

 


以上是关于Spring3X升级到Spring4X时,出现的问题的主要内容,如果未能解决你的问题,请参考以下文章

从 oracle 12c 升级到 oracle 19c 导致查询性能下降

docker安装

升级到 Angular 8 后出现 d3.js 运行时错误

升级到MacOS Catalina 10.15后尝试从Xcode 11.1部署到设备时,FIPS出现两个错误

在第 n 次出现字符时剪切字符串

升级到 Ubuntu 13.10 后,Apache 上的 laravel 项目出现 403 错误