此版本仍在开发中,尚未被视为稳定版本。对于最新的稳定版本,请使用 Spring Boot 3.3.1Spring中文文档

此版本仍在开发中,尚未被视为稳定版本。对于最新的稳定版本,请使用 Spring Boot 3.3.1Spring中文文档

Spring Boot 为各种数据存储提供 Spring Session 自动配置。 构建 Servlet Web 应用程序时,可以自动配置以下存储:Spring中文文档

Servlet 自动配置取代了使用 的需要。@Enable*HttpSessionSpring中文文档

如果类路径上存在单个 Spring Session 模块,则 Spring Boot 会自动使用该存储实现。 如果有多个实现,Spring Boot 将使用以下顺序来选择特定实现:Spring中文文档

  1. Redis(瑞迪斯酒店)Spring中文文档

  2. 京东银行Spring中文文档

  3. 黑兹尔卡斯特Spring中文文档

  4. MongoDB的Spring中文文档

  5. 如果 Redis、JDBC、Hazelcast 和 MongoDB 都不可用,则不配置 .SessionRepositorySpring中文文档

生成反应式 Web 应用程序时,可以自动配置以下存储:Spring中文文档

反应式自动配置取代了使用 的需要。@Enable*WebSessionSpring中文文档

与 servlet 配置类似,如果有多个实现,Spring Boot 将使用以下顺序来选择特定实现:Spring中文文档

  1. Redis(瑞迪斯酒店)Spring中文文档

  2. MongoDB的Spring中文文档

  3. 如果 Redis 和 MongoDB 都不可用,则不配置 .ReactiveSessionRepositorySpring中文文档

每个商店都有特定的附加设置。 例如,可以自定义 JDBC 存储的表的名称,如以下示例所示:Spring中文文档

spring.session.jdbc.table-name=SESSIONS
spring:
  session:
    jdbc:
      table-name: "SESSIONS"

若要设置会话的超时,可以使用该属性。 如果未使用 servlet Web 应用程序设置该属性,那么自动配置将回退到 的值。spring.session.timeoutserver.servlet.session.timeoutSpring中文文档

您可以使用 (servlet) 或 (reactive) 来控制 Spring Session 的配置。 这将导致自动配置回退。 然后,可以使用注释的属性而不是前面描述的配置属性来配置Spring Session。@Enable*HttpSession@Enable*WebSessionSpring中文文档