领先一步
VMware 提供培训和认证,助您加速进步。
了解更多本文作者为 Vedran Pavić
我谨代表社区,非常高兴地宣布 Spring Session 2.0.0.RELEASE 的发布。该版本经过了 2.0.0.M1、2.0.0.M2、2.0.0.M3、2.0.0.M4、2.0.0.M5、2.0.0.RC1、2.0.0.RC2 和 2.0.0.RELEASE 的迭代,总共关闭了 130 多个问题和拉取请求。
您可以在参考文档的 What’s New 2.0 部分找到新特性的亮点。有关详细信息,请参阅上方的发布说明链接。
此版本将 Java 8 和 Spring Framework 5.0 作为基线要求。整个代码库现在都基于 Java 8 的源代码级别。
Spring Framework 5.0 中引入的响应式编程模型是 2017 年最大的亮点之一,我们很高兴地带来了通过 Redis ReactiveSessionRepository 来管理 Spring WebFlux 的 WebSession 的支持。
遵循 Spring Session 的惯例,启用 Redis 支持的 WebSession 非常简单,只需以下代码片段:
@EnableRedisWebSession
public class WebSessionConfig {
@Bean
public LettuceConnectionFactory redisConnectionFactory() {
return new LettuceConnectionFactory();
}
}
Spring Boot 用户会高兴地知道,响应式 Spring Session 的自动配置支持自 2.0.0.M6 里程碑版本 起就已经可用。
新版本为项目的模块带来了一些重大变化,我们将 Spring Session 按存储库实现拆分为模块。您会发现
<dependency>
<groupId>org.springframework.session</groupId>
<artifactId>spring-session-core</artifactId>
<version>2.0.0.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework.session</groupId>
<artifactId>spring-session-data-redis</artifactId>
<version>2.0.0.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework.session</groupId>
<artifactId>spring-session-hazelcast</artifactId>
<version>2.0.0.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework.session</groupId>
<artifactId>spring-session-jdbc</artifactId>
<version>2.0.0.RELEASE</version>
</dependency>
作为此更改的一部分,我们已从主存储库中移除了部分 Spring Session 实现。现在我们有了 Spring Session Data Geode (GemFire) 和 Spring Session Data MongoDB 的子项目。您会发现
<dependency>
<groupId>org.springframework.session</groupId>
<artifactId>spring-session-data-gemfire</artifactId>
<version>2.0.0.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework.session</groupId>
<artifactId>spring-session-data-geode</artifactId>
<version>2.0.0.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework.session</groupId>
<artifactId>spring-session-data-mongodb</artifactId>
<version>2.0.0.RELEASE</version>
</dependency>
目标是让核心 Spring Session 团队能够专注于交付新功能,而不必了解每个数据存储的细节。这将使其他模块的开发可以在不经过核心 Spring Session 团队审查的情况下进行。
没有社区的支持,我们就无法成为今天如此成功的项目。我想感谢所有提交 issue 和提供反馈的人。
如果您对本次发布有任何反馈,我鼓励您通过 StackOverflow、GitHub Issues 或评论区与我们联系。您也可以在 Twitter 上联系 Rob @rob_winch、Joe @joe_grandja 或我 @vedran_pavic。
当然,最好的反馈形式是 贡献。