目录

[TOC]

官方文档

https://spring.io/projects/spring-session/

快速使用下面配置集成Spring Session实现分布式微服务之间实现Session数据共享,Session的数据统一存储在redis中,每个微服务需要集成下面代码,可以放到公共模块中

引入依赖

1
2
3
4
5
<!-- 整合SpringSession -->
<dependency>
<groupId>org.springframework.session</groupId>
<artifactId>spring-session-data-redis</artifactId>
</dependency>

配置

1
2
3
4
spring:
session:
store-type: redis
timeout: 30

配置类

在每个启动类上加上@EnableRedisHttpSession//开启Spring Session实现Session共享或直接统一在配置类上加,然后将配置类放在公共模块中

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
@EnableRedisHttpSession//开启Spring Session实现Session共享
@Configuration
public class SpringSessionConfig {
@Bean
public CookieSerializer cookieSerializer() {

DefaultCookieSerializer cookieSerializer = new DefaultCookieSerializer();

//放大作用域
cookieSerializer.setDomainName("xiaofei.com");
cookieSerializer.setCookieName("XIAOFEISESSION");

return cookieSerializer;
}

@Bean
public RedisSerializer<Object> springSessionDefaultRedisSerializer() {
return new GenericJackson2JsonRedisSerializer();
}
}