Spring Session 2.0.0 已发布

发布 | Rob Winch | 2018 年 1 月 16 日 | ...

本文作者:Vedran Pavić

我很高兴代表社区宣布 Spring Session 2.0.0.RELEASE 的发布。此版本经历了 2.0.0.M12.0.0.M22.0.0.M32.0.0.M42.0.0.M52.0.0.RC12.0.0.RC22.0.0.RELEASE 等阶段,总共关闭了 130 多个 issue 和 pull request。

Spring Session 2.0 新特性

您可以在参考文档的2.0 新特性部分找到新特性的重点介绍。有关详细信息,请参阅上面的变更日志链接。

要求

此版本将基础要求提高到 Java 8 和 Spring Framework 5.0。整个代码库现在都基于 Java 8 源代码级别。

Spring WebFlux 支持

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 用户会很高兴得知,从 2.0.0.M6 里程碑版本开始,响应式 Spring Session 的自动配置支持已经可用。

Spring Session 模块

新版本对项目模块带来了一些重大变化,因为我们根据仓库实现将 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 和提供反馈的人。

请提供反馈

如果您对此版本有反馈,我鼓励您通过 StackOverflowGitHub Issues 或评论区与我们联系。您也可以在 Twitter 上联系 Rob @rob_winch、Joe @joe_grandja 或我 @vedran_pavic

当然,最好的反馈形式是贡献

项目网站 | 参考文档 | 帮助

订阅 Spring 时事通讯

通过 Spring 时事通讯保持联系

订阅

领先一步

VMware 提供培训和认证,助您加速进步。

了解更多

获取支持

Tanzu Spring 通过一项简单的订阅提供 OpenJDK™、Spring 和 Apache Tomcat® 的支持和二进制文件。

了解更多

即将举办的活动

查看 Spring 社区所有即将举办的活动。

查看全部