# 升级到 2.x
有了新的主要版本, Spring Session 团队利用这个机会进行了一些非被动的更改。这些更改的重点是改进和协调 Spring Session 的 API,以及删除不受欢迎的组件。
# 基线更新
Spring Session 2.0 需要 Java8 和 Spring Framework5.0 作为基线,因为其整个代码库现在基于 Java8 源代码。有关升级 Spring 框架的更多信息,请参见Upgrading to Spring Framework 5.x (opens new window)。
# 替换和移除模块
作为项目拆分模块的一部分,现有的spring-session
已被spring-session-core
模块所取代。spring-session-core
模块只保存公共的一组 API 和组件,而其他模块则包含适当的SessionRepository
的实现以及与该数据存储相关的功能。这适用于几个现有的模块,这些模块以前是一个简单的依赖聚合器助手模块。通过新的模块设置,以下模块实际进行了实现:
Spring MongoDB 的会话
Spring Redis 会议
Spring Session JDBC
Spring 会议 Hazelcast
此外,从主项目存储库中删除了以下内容:
Spring Session 数据 Gemfire
- [
spring-session-data-geode
](https://github.com/ Spring-projects/ Spring-session-data-geode)
- [
# 替换和删除包、类和方法
对包、类和方法进行了以下更改:
ExpiringSession
API 已合并到Session
API 中。已经对
Session
API 进行了增强,以充分利用 Java8。Session
API 已通过changeSessionId
支持进行了扩展。已经更新了
SessionRepository
API,以更好地与 Spring 数据方法命名约定保持一致。如果没有底层
Session
对象,AbstractSessionEvent
及其子类将不再可构造。RedisOperationsSessionRepository
使用的 Redis 命名空间现在是完全可配置的,而不是部分可配置的。已更新了 Redis 配置支持,以避免注册 Spring Session 特定的
RedisTemplate
Bean。已更新了 JDBC 配置支持,以避免注册 Spring Session 特定的
JdbcTemplate
Bean。以前不推荐的类和方法已在整个代码库中被删除。
# 支持度下降
作为对HttpSessionStrategy
的更改及其与来自反应性世界的对应物的对齐的一部分,对在单个浏览器实例中管理多个用户会话的支持已被删除。正在考虑在未来的版本中引入一个新的 API 来取代此功能。
← API 文档