最近在升级一个struts2 + spring3 + hibernate3 框架的项目时,遇到了很多问题,再此汇总一下。
首先我升级了struts2,为了安全,struts 由 2.3.35 升级至了2.5.26,网上有很多升级的教程,升级并不困难。
随后在升级spring4的过程中发现,若升级到4,推荐将hibernate也升级到4,但是相应的带来的改动量和不稳定因素也很大,所以我们先升级升级spring4,暂时不升级hibernate。
升级过程:
1.升级spring包版本
<properties>
<spring.version>4.3.1.RELEASE</spring.version>
</properties>
<!--spring lib -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-beans</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context-support</artifactId> <!-- 2.5.4 -->
<version>2.5.4</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-aop</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-test</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-web</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-orm</artifactId>
<version>3.0.4.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>${spring.version}</version>
</dependency>
这里需要注意一下,因为我们hibernate不计划升级,依然使用hibernate3.x.x版本,因此spring-orm 使用3.x.x版本。
spring-orm :spring 与 hibernate 整合包。
若hibernate也采用4,则spring-orm使用4.x.x版本
其余依赖包不变。
如若报错:java.lang.ClassNotFoundException:org.springframework.web.util.ExpressionEvaluationUtils
两种解决方式:
1.重写spring4已启用的ExpressionEvaluationUtils类【spring源码地址:https://github.com/spring-projects/spring-framework/blob/v3.2.18.RELEASE/spring-web/src/main/java/org/springframework/web/util/ExpressionEvaluationUtils.java】
2.升级 spring Security [推荐]
原文链接:https://blog.csdn.net/jzlswc_7620255/article/details/114538168