spring 4 升级踩雷指南

spring 4 升级踩雷指南 前言

最近,一直在为公司老项目做核心库升级工作。本来只是想升级一下 JDK8 ,却因为兼容性问题而不得不升级一些其他的库,而其他库本身依赖的一些库可能也要同步升级。这是一系列连锁问题,你很难一一识别,往往只有在编译时、运行时才能发现问题。

总之,这是个费劲的活啊。

本文小结一下升级 Spring4 的连锁问题。

为什么升级 spring4

升级 Spring4 的原因是:Spring 4 以前的版本不兼容 JDK8。当你的项目同时使用 Spring3 和 JDK8,如果代码中有使用 JDK8 字节码或 Lambada 表达式,那么会出问题。

也许你会问,为什么不使用最新的 Spring 5 呢?因为作为企业软件,一般更倾向使用稳定的版本(bug 少),而不是最新的版本,尤其是一些核心库。

更多细节可以参考:

https://spring.io/blog/2013/05/21/spring-framework-4-0-m1-3-2-3-available/

spring 4 重要新特性

Spring 4 相比 Spring 3,引入许多新特性,这里列举几条较为重要的:

支持 JDK8 (这个是最主要的)。

Groovy Bean Definition DSL 风格配置。

支持 WebSocket、SockJS、STOMP 消息

移除 Deprecated 包和方法

一些功能加强,如:核心容器、Web、Test 等等,不一一列举。

更多 Spring 4 新特性可以参考:

升级 spring 4 步骤

了解了前面内容,我们知道了升级 Spring 4 带来的好处。现在开始真刀真枪的升级了。

不要以为升级一下 Spring 4,仅仅是改一下版本号,那么简单,细节处多着呢。

下面,结合我在公司项目升级 Spring4 时遇到的一系列坑,希望能帮助各位少走弯路。

下文内容基于假设你的项目是用 maven 管理这一前提。如果不满足这一前提,那么这篇文章对你没什么太大帮助。

修改 spring 版本

第一步,当然是修改 pom.xml 中的 spring 版本。

3.x.x.RELEASE > 4.x.x.RELEASE

实例:升级 spring-core

其它 spring 库的升级也如此:

<properties> <spring.version>4.3.13.RELEASE</spring.version> </properties> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-core</artifactId> <version>${spring.version}</version> </dependency>

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wpzzwz.html