1.在项目pom文件中引入相关jar包
<!-- Spring Session -->
<dependency>
<groupId>org.springframework.session</groupId>
<artifactId>spring-session-data-redis</artifactId>
</dependency>
2.新增config配置类(redis实现方式)
import org.springframework.context.annotation.Configuration;
import org.springframework.session.data.redis.config.annotation.web.http.EnableRedisHttpSession;
/**
*
* @ClassName: HttpSessionConfig
* @Description: spring session 配置类
* @author chenliqiao
* @date 2018年4月24日 下午2:37:48
*
*/
@Configuration
@EnableRedisHttpSession//注解开启redis httpSession
public class HttpSessionConfig {
}
3.引用:
Spring Session的特性包括但不限于以下:
- 使用GemFire来构建C/S架构的httpSession(不关注)
- 使用第三方仓储来实现集群session管理,也就是常说的分布式session容器,替换应用容器(如tomcat的-session容器)。仓储的实现,Spring Session提供了三个实现(redis,mongodb,jdbc),其中redis使我们最常用的。程序的实现,使用AOP技术,几乎可以做到透明化地替换。(核心)
- 可以非常方便的扩展Cookie和自定义Session相关的Listener,Filter。
- 可以很方便的与Spring Security集成,增加诸如findSessionsByUserName,rememberMe,限制同一个账号-可以同时在线的Session数(如设置成1,即可达到把前一次登录顶掉的效果)等等