对于最新的稳定版本,请使用 Spring Session 3.4.2! |
升级到 2.x
在新的主要发布版本中,Spring Session 团队借此机会进行了一些非被动的更改。 这些更改的重点是改进和协调 Spring Session 的 API,并删除已弃用的组件。
基线更新
Spring Session 2.0 需要 Java 8 和 Spring Framework 5.0 作为基准,因为它的整个代码库现在都基于 Java 8 源代码。 有关升级 Spring Framework 的更多信息,请参见升级到 Spring Framework 5.x。
更换和移除的模块
作为项目拆分模块的一部分,现有的spring-session
已替换为spring-session-core
模块。
这spring-session-core
module 仅包含一组通用的 API 和组件,而其他 modules 包含适当的SessionRepository
以及与该数据存储相关的功能。
这适用于以前是简单依赖项聚合器帮助程序模块的几个现有模块。
通过新的 module 配置,以下 modules 实际承载了 implementation:
-
MongoDB 的 Spring Session
-
Redis 的 Spring Session
-
Spring Session JDBC
-
Spring Session Hazelcast
此外,以下内容已从主项目存储库中删除:
-
Spring Session 数据 GemFire
替换和删除的包、类和方法
对包、类和方法进行了以下更改:
-
ExpiringSession
API 已合并到Session
应用程序接口。 -
这
Session
API 已得到增强,以充分利用 Java 8。 -
这
Session
API 已扩展为changeSessionId
支持。 -
这
SessionRepository
API 已更新,以更好地与 Spring Data 方法命名约定保持一致。 -
AbstractSessionEvent
并且它的子类在没有底层的情况下不再可构造Session
对象。 -
使用的 Redis 命名空间
RedisOperationsSessionRepository
现在是完全可配置的,而不是部分可配置的。 -
Redis 配置支持已更新,以避免注册特定于 Spring Session 的
RedisTemplate
豆。 -
JDBC 配置支持已更新,以避免注册特定于 Spring Session 的
JdbcTemplate
豆。 -
以前弃用的类和方法已在整个代码库中删除
已删除的支持
作为对HttpSessionStrategy
并且它与 Reactive 世界的对应物保持一致,因此已删除对在单个浏览器实例中管理多个用户会话的支持。
正在考虑在未来版本中引入新的 API 来替换此功能。