为什么升级 spring 4
升级 Spring4 的原因是:想要将老项目从jdk1.6升级之1.8,而Spring 4 以前的版本不兼容 JDK8。
Spring 4 相比 Spring 3,引入许多新特性,这里列举几条较为重要的:
- 支持 JDK8 (这个是最主要的)。
- Groovy Bean Definition DSL 风格配置。
- 支持 WebSocket、SockJS、STOMP 消息
- 移除 Deprecated 包和方法
- 一些功能加强,如:核心容器、Web、Test 等等,不一一列举。
升级步骤
- 清理maven依赖,解决红线冲突,spring相关依赖包显示定义
- 直接修改spring版本
- spring mvc 中如果返回结果为 json 需要依赖 jackson 的jar包,但是他升级到了2, 以前是 codehaus.jackson,现在换成了 fasterxml.jackson
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
<version>2.7.0</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.7.0</version>
</dependency>
- 修改spring xml文件的xsd,去掉版本号,如下面示例中的
3.1
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:util="http://www.springframework.org/schema/util" xmlns:context="http://www.springframework.org/schema/context"
xmlns:mvc="http://www.springframework.org/schema/mvc"
xsi:schemaLocation="http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.1.xsd
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.1.xsd
http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-3.1.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.1.xsd">
- 单测事务注解问题,继承的父类若已经标有注解
TransactionalTestExecutionListener
,则子类不需要重复定义,否则会导致错误
java.lang.IllegalStateException: Cannot start a new transaction without ending the existing transaction.
- web 容器需要支持servlet api 2.5版本,tomcat至少6以上
参考文档
升级 spring 4:
https://dunwu.github.io/blog/...
单测事务问题:
https://my.oschina.net/u/2430...
tomcat servlet 版本问题:
http://tomcat.apache.org/whic...
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。