| 对于最新的稳定版本,请使用 Spring Boot 3.5.5! | 
春季课程
Spring Boot 为各种数据存储提供 Spring Session 自动配置。 在构建 Servlet Web 应用程序时,可以自动配置以下存储:
- 
Redis 
- 
JDBC 公司 
- 
榛铸 
- 
Mongo数据库 
servlet 自动配置取代了使用@Enable*HttpSession.
如果类路径上存在单个 Spring Session 模块,则 Spring Boot 会自动使用该 store 实现。 如果您有多个实现,Spring Boot 使用以下顺序来选择特定实现:
- 
Redis 
- 
JDBC 公司 
- 
榛铸 
- 
Mongo数据库 
- 
如果 Redis、JDBC、Hazelcast 和 MongoDB 都不可用,我们不会配置 SessionRepository.
构建响应式 Web 应用程序时,可以自动配置以下存储:
- 
Redis 
- 
Mongo数据库 
响应式自动配置取代了使用@Enable*WebSession.
与 servlet 配置类似,如果您有多个实现,Spring Boot 使用以下顺序来选择特定实现:
- 
Redis 
- 
Mongo数据库 
- 
如果 Redis 和 MongoDB 都不可用,我们不会配置 ReactiveSessionRepository.
每个商店都有特定的附加设置。 例如,可以自定义 JDBC 存储的表名称,如以下示例所示:
- 
Properties 
- 
YAML 
spring.session.jdbc.table-name=SESSIONSspring:
  session:
    jdbc:
      table-name: "SESSIONS"要设置会话的超时,您可以使用spring.session.timeout财产。
如果未使用 Servlet Web 应用程序设置该属性,则自动配置将回退到server.servlet.session.timeout.
您可以使用以下命令来控制 Spring Session 的配置@Enable*HttpSession(servlet) 或@Enable*WebSession(反应)。
这将导致自动配置退出。
然后可以使用注释的属性而不是前面描述的配置属性来配置 Spring Session。