从 Spring 4.2 升级到 Spring 5.0.5 时预见到的问题
Posted
技术标签:
【中文标题】从 Spring 4.2 升级到 Spring 5.0.5 时预见到的问题【英文标题】:Foreseeing issues when upgrading from Spring 4.2 to Spring 5.0.5 【发布时间】:2018-10-08 04:31:46 【问题描述】:在我当前的项目中,我们使用的是 Spring 4.2(核心、aop、bean、web、webmvc 等)。
从 Spring 4.2 升级到 Spring 5.0.5 时,我们可能会遇到哪些主要问题? Spring Security 4.2 与 Spring 5.0.5 的向后兼容性如何?
感谢您的宝贵时间。
【问题讨论】:
【参考方案1】:如果不知道您的项目依赖于 Spring 的哪些功能和特性,就很难说清楚。
我建议首先查看官方变更日志和发行说明,以确定项目中受影响的部分。 What's New in Spring Framework 5.x 可能是一个很好的起点。
尤其要注意被移除的功能和 API。
还有一个Spring Integration 4.3 to 5.0 Migration Guide。
【讨论】:
【参考方案2】:在升级到 Spring 4.2.7 时,我遇到了以下两个问题
-
获取和删除包含“;”的请求由于 HttpFirewall 的限制,“%”字符将失败并返回 500 响应。您可以参考以下链接获取解决方案。
Getting 500 response in Spring 5 when url contains semicolon
-
Spring 5 需要默认密码编码器,否则会抛出异常
java.lang.IllegalArgumentException:没有为 id “null”映射 PasswordEncoder
您可以参考以下链接获取解决方案。
Spring Security 5 : There is no PasswordEncoder mapped for the id "null"
【讨论】:
以上是关于从 Spring 4.2 升级到 Spring 5.0.5 时预见到的问题的主要内容,如果未能解决你的问题,请参考以下文章
Spring Boot - 从 2.2.5 升级到 2.5.7 后,应用程序无法启动
Spring Boot - 从 2.2.5 升级到 2.3.0 后验证停止工作
从 Spring Boot Starter 1.3.5.RELEASE 升级到 1.5.2 RELEASE 时 Spring Security 中的访问被拒绝错误