zoukankan      html  css  js  c++  java
  • 升级spring&集成Redis 一 : spring3升级spring4

    1  背景

    由于项目中使用的spring版本比较低,无法很好支持某些功能的使用,于是决定将spring3升级为spring4

    2  升级spring版本

    修改前:<spring.version>3.1.1.RELEASE</spring.version>

    修改后 :<spring.version>4.3.12.RELEASE</spring.version>

    3 升级 jackson

    <jackson.version>2.9.3</jackson.version>
    <!-- jackson start-->
    <dependency>
       <groupId>com.fasterxml.jackson.core</groupId>
       <artifactId>jackson-annotations</artifactId>
       <version>${jackson.version}</version>
    </dependency>
    <dependency>
       <groupId>com.fasterxml.jackson.core</groupId>
       <artifactId>jackson-core</artifactId>
        <version>${jackson.version}</version>
     </dependency>
     <dependency>
         <groupId>com.fasterxml.jackson.core</groupId>
         <artifactId>jackson-databind</artifactId>
         <version>${jackson.version}</version>
    </dependency>
    <!-- jackson end-->
    

      

    4 修改其他相关依赖冲突的配置

    比如:
    [ERROR]2020-03-14 16:28:08-[org.springframework.web.context.ContextLoader.initWebApplicationContext()]: Context initialization failed
    org.springframework.beans.factory.CannotLoadBeanClassException: Error loading class [com.test.common.mvc.annotation.JSONHttpMessageConverter] for bean with name 'jsonHttpMessageConverter' defined in ServletContext resource [/WEB-INF/dispatcher-servlet.xml]: problem with class file or dependent class; nested exception is java.lang.NoClassDefFoundError: org/springframework/http/converter/json/MappingJacksonHttpMessageConverter
    	at org.springframework.beans.factory.support.AbstractBeanFactory.resolveBeanClass(AbstractBeanFactory.java:1388)
    
    找到引用MappingJacksonHttpMessageConverter的地方;将原来版本中的MappingJacksonHttpMessageConverter 使用新版MappingJackson2HttpMessageConverter替换
    

      

    5 请求响应格式变化

    原来在 Spring3 中默认会返回 JSON 格式,然而在 Spring4 中可能会默认返回 XML 格式

    可以在 Controller 中的 @RequestMapping 中加入 produces = "application/json",明确指定返回 JSON 格式。示例:

    @RequestMapping(value = "/login", method = RequestMethod.POST, produces = "application/json")

  • 相关阅读:
    robotframework-requests--中文注解版
    Python猜数小游戏
    走进Selenium新世界
    HTML
    Web测试方法_02
    3.线程死锁
    2.线程--线程安全(synchronized)
    1.线程--线程创建方式
    使用Android-studio开发移动app与weex结合开发详细步骤
    Weex 简介
  • 原文地址:https://www.cnblogs.com/brant/p/12496709.html
Copyright © 2011-2022 走看看