从永远到永远-SSM项目升级踩坑

1.背景

上古SSM项目,因安全漏洞需要升级框架,现记录下遇到的几个问题

2.升级

1.SpringMVC升级完之后接口404

依赖升级前版本升级后版本
spring相关(core、bean、tx、aop等)4.1.6.RELEASE5.3.27
spring-web4.1.6.RELEASE5.3.27
spring-webmvc4.1.6.RELEASE5.3.27

Spring、SpringMVC等相关版本从4.1.6.RELEASE升到了5.3.27。升级完之后,原来能够访问的接口,报错404。
经debug多次测试,发现后缀的问题。分析源码,发现useSuffixPatternMatch默认设置为false,即后缀匹配模式默认不启用。注释中显示,5.2.4之后,貌似直接废弃了此设置。

在这里插入图片描述
手动设置开启即可,在spring-mvc.xml中,添加或修改以下代码,开启后缀匹配模式

<mvc:annotation-driven>
    <mvc:path-matching suffix-pattern="true"/>
</mvc:annotation-driven>

参考1
GitHub相关issue

2.mybatis、mybatis-spring

依赖升级前版本升级后版本
mybatis3.3.03.5.6
mybatis-spring1.2.32.0.5
升级mybatis依赖版本之后,报错:
java.lang.AbstractMethodError: org.mybatis.spring.transaction.SpringManagedTransaction.getTimeout()Ljava/lang/Integer;

原因是,mybatis-spring版本与mybatis版本不匹配,详细内容参考官网
在这里插入图片描述
升级了spring,也对应升级了mybatis,而mybatis-spring版本还是1.3.4,显然不符合条件。

3.注意

mybatis、mybatis-spring版本问题,很早就发现了。按照匹配版本修改,测试一直不通过。好一顿折腾,发现项目中依赖已经成功换了,但是运行的war包中的依赖还是旧版本。如果,大家有类似的问题,注意清理一下/target下的旧包(真的坑)。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值