对于最新的稳定版本,请使用 Spring Session 3.4.0! |
升级到 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。
更换和移除的模块
作为项目拆分模块的一部分,现有模块已替换为模块。
该模块仅包含一组通用的 API 和组件,而其他模块包含与该数据存储相关的相应和功能的实现。
这适用于以前是简单依赖项聚合器帮助程序模块的几个现有模块。
通过新的 module 配置,以下 modules 实际承载了 implementation:spring-session
spring-session-core
spring-session-core
SessionRepository
-
MongoDB 的 Spring Session
-
Redis 的 Spring Session
-
Spring Session JDBC
-
Spring Session Hazelcast
此外,以下内容已从主项目存储库中删除:
-
Spring Session 数据 GemFire
替换和删除的包、类和方法
对包、类和方法进行了以下更改:
-
ExpiringSession
API 已合并到 API 中。Session
-
API 已得到增强,可充分利用 Java 8。
Session
-
API 已扩展为支持。
Session
changeSessionId
-
API 已更新,以更好地与 Spring Data 方法命名约定保持一致。
SessionRepository
-
AbstractSessionEvent
并且它的子类在没有底层对象的情况下不再可构造。Session
-
使用的 Redis 命名空间现在是完全可配置的,而不是部分可配置的。
RedisOperationsSessionRepository
-
Redis 配置支持已更新,以避免注册特定于 Spring Session 的 bean。
RedisTemplate
-
JDBC 配置支持已更新,以避免注册特定于 Spring Session 的 bean。
JdbcTemplate
-
以前弃用的类和方法已在整个代码库中删除
已删除的支持
作为对响应式世界的对应项的更改及其对齐的一部分,已删除对在单个浏览器实例中管理多个用户会话的支持。
正在考虑在未来版本中引入新的 API 来替换此功能。HttpSessionStrategy