(window.webpackJsonp=window.webpackJsonp||[]).push([[681],{1112:function(e,s,i){"use strict";i.r(s);var v=i(56),_=Object(v.a)({},(function(){var e=this,s=e.$createElement,i=e._self._c||s;return i("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[i("h1",{attrs:{id:"升级到-2-x"}},[i("a",{staticClass:"header-anchor",attrs:{href:"#升级到-2-x"}},[e._v("#")]),e._v(" 升级到 2.x")]),e._v(" "),i("p",[e._v("有了新的主要版本, Spring Session 团队利用这个机会进行了一些非被动的更改。这些更改的重点是改进和协调 Spring Session 的 API,以及删除不受欢迎的组件。")]),e._v(" "),i("h2",{attrs:{id:"基线更新"}},[i("a",{staticClass:"header-anchor",attrs:{href:"#基线更新"}},[e._v("#")]),e._v(" 基线更新")]),e._v(" "),i("p",[e._v("Spring Session 2.0 需要 Java8 和 Spring Framework5.0 作为基线,因为其整个代码库现在基于 Java8 源代码。有关升级 Spring 框架的更多信息,请参见"),i("a",{attrs:{href:"https://github.com/spring-projects/spring-framework/wiki/Upgrading-to-Spring-Framework-5.x",target:"_blank",rel:"noopener noreferrer"}},[e._v("Upgrading to Spring Framework 5.x"),i("OutboundLink")],1),e._v("。")]),e._v(" "),i("h2",{attrs:{id:"替换和移除模块"}},[i("a",{staticClass:"header-anchor",attrs:{href:"#替换和移除模块"}},[e._v("#")]),e._v(" 替换和移除模块")]),e._v(" "),i("p",[e._v("作为项目拆分模块的一部分,现有的"),i("code",[e._v("spring-session")]),e._v("已被"),i("code",[e._v("spring-session-core")]),e._v("模块所取代。"),i("code",[e._v("spring-session-core")]),e._v("模块只保存公共的一组 API 和组件,而其他模块则包含适当的"),i("code",[e._v("SessionRepository")]),e._v("的实现以及与该数据存储相关的功能。这适用于几个现有的模块,这些模块以前是一个简单的依赖聚合器助手模块。通过新的模块设置,以下模块实际进行了实现:")]),e._v(" "),i("ul",[i("li",[i("p",[e._v("Spring MongoDB 的会话")])]),e._v(" "),i("li",[i("p",[e._v("Spring Redis 会议")])]),e._v(" "),i("li",[i("p",[e._v("Spring Session JDBC")])]),e._v(" "),i("li",[i("p",[e._v("Spring 会议 Hazelcast")])])]),e._v(" "),i("p",[e._v("此外,从主项目存储库中删除了以下内容:")]),e._v(" "),i("ul",[i("li",[i("p",[e._v("Spring Session 数据 Gemfire")]),e._v(" "),i("ul",[i("li",[e._v("["),i("code",[e._v("spring-session-data-geode")]),e._v("](https://github.com/ Spring-projects/ Spring-session-data-geode)")])])])]),e._v(" "),i("h2",{attrs:{id:"替换和删除包、类和方法"}},[i("a",{staticClass:"header-anchor",attrs:{href:"#替换和删除包、类和方法"}},[e._v("#")]),e._v(" 替换和删除包、类和方法")]),e._v(" "),i("p",[e._v("对包、类和方法进行了以下更改:")]),e._v(" "),i("ul",[i("li",[i("p",[i("code",[e._v("ExpiringSession")]),e._v("API 已合并到"),i("code",[e._v("Session")]),e._v("API 中。")])]),e._v(" "),i("li",[i("p",[e._v("已经对"),i("code",[e._v("Session")]),e._v("API 进行了增强,以充分利用 Java8。")])]),e._v(" "),i("li",[i("p",[i("code",[e._v("Session")]),e._v("API 已通过"),i("code",[e._v("changeSessionId")]),e._v("支持进行了扩展。")])]),e._v(" "),i("li",[i("p",[e._v("已经更新了"),i("code",[e._v("SessionRepository")]),e._v("API,以更好地与 Spring 数据方法命名约定保持一致。")])]),e._v(" "),i("li",[i("p",[e._v("如果没有底层"),i("code",[e._v("Session")]),e._v("对象,"),i("code",[e._v("AbstractSessionEvent")]),e._v("及其子类将不再可构造。")])]),e._v(" "),i("li",[i("p",[i("code",[e._v("RedisOperationsSessionRepository")]),e._v("使用的 Redis 命名空间现在是完全可配置的,而不是部分可配置的。")])]),e._v(" "),i("li",[i("p",[e._v("已更新了 Redis 配置支持,以避免注册 Spring Session 特定的"),i("code",[e._v("RedisTemplate")]),e._v(" Bean。")])]),e._v(" "),i("li",[i("p",[e._v("已更新了 JDBC 配置支持,以避免注册 Spring Session 特定的"),i("code",[e._v("JdbcTemplate")]),e._v(" Bean。")])]),e._v(" "),i("li",[i("p",[e._v("以前不推荐的类和方法已在整个代码库中被删除。")])])]),e._v(" "),i("h2",{attrs:{id:"支持度下降"}},[i("a",{staticClass:"header-anchor",attrs:{href:"#支持度下降"}},[e._v("#")]),e._v(" 支持度下降")]),e._v(" "),i("p",[e._v("作为对"),i("code",[e._v("HttpSessionStrategy")]),e._v("的更改及其与来自反应性世界的对应物的对齐的一部分,对在单个浏览器实例中管理多个用户会话的支持已被删除。正在考虑在未来的版本中引入一个新的 API 来取代此功能。")])])}),[],!1,null,null,null);s.default=_.exports}}]);