springsession
Spring Session
一、 HttpSession 回顾
1 什么是 HttpSession
二、 Session 共享
1 什么是 Session 共享
2.3修改 POM 文件添加坐标依赖
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.</modelVersion>
<groupId>com.bjsxt</groupId>
<artifactId>spring_session</artifactId>
<packaging>pom</packaging>
<version>1.0-SNAPSHOT</version>
<modules>
<module>session_service1</module>
<module>session_service2</module>
</modules>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.1..RELEASE</version>
</parent><dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.session</groupId>
<artifactId>spring-session-bom</artifactId>
<version>Bean-SR3</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<dependencies>
<!--web Starter-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!--Redis Starter-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-redis</artifactId>
</dependency>
<!--Spring session data redis-->
<dependency>
<groupId>org.springframework.session</groupId>
<artifactId>spring-session-data-redis</artifactId>
</dependency>
<!--Lettuce 是一个基于Netty的NIO方式处理Redis的技术-->
<dependency>
<groupId>io.lettuce</groupId>
<artifactId>lettuce-core</artifactId>
</dependency>
</dependencies>
</project>
3 添加配置文件
3.1session_service1
3.2session_service2
4 创建启动类
4.1session_service1
4.2session_service2
5 编写测试代码测试效果
5.1session_service1
5.1.1创建 Controller
5.2session_service2
5.2.1创建 Controller
5.2.2测试
6 共享自定义对象
6.1创建 Users 实体类
public class Users implements Serializable {
private String username;
private String userpwd;
public String getUsername() {
return username;
}public String getUserpwd() {
return userpwd;
}
public void setUsername(String username) {
this.username = username;
}
public void setUserpwd(String userpwd) {
this.userpwd = userpwd;
}
}
6.2修改 session_service1 的 controller
@RestController
@RequestMapping("service1")
public class WebController {
@RequestMapping("/setMsg")
public String setMsg(HttpSession session,String msg){
session.setAttribute("msg",msg);
return "ok";
}
/**
* 获取 Users 信息,保存到 HttpSession 中
*/
@RequestMapping("/addUsers")
public String addUsers(HttpSession session, Users users){
session.setAttribute("u",users);
return "ok";
}
}
6.3修改 session_service2 的 controller
@RestController@RequestMapping("/service2")
public class WebController {
@RequestMapping("/getMsg")
public String getMsg(HttpSession session){
String msg = (String) session.getAttribute("msg");
return msg;
}
/**
* 获取 HttpSession 中的 Users 对象
*/
@RequestMapping("/getUsers")
public Users getUsers(HttpSession session){
Users users = (Users) session.getAttribute("u");
return users;
}
}
6.4测试
7 Spring Session 的 Redis 存储结构
8 设置 Session 的失效时间
8.1在注解中设置失效时间
@SpringBootApplication
@EnableRedisHttpSession(maxInactiveIntervalInSeconds=)
public class Service1Application {
public static void main(String[] args){
SpringApplication.run(Service1Application.class,args);
}
}
9 @EnableRedisHttpSession 注解讲解
9.1maxInactiveIntervalInSeconds
9.2redisNamespace
9.3redisFlushMode
9.4cleanupCron
10.1在配置类中创建自定义序列化器
10.2测试
springsession的更多相关文章
- 使用SpringMVC集成SpringSession的问题
最近在使用SpringSession时遇到一个问题,错误日志如下: Exception sending context initialized event to listener instance o ...
- spring-session整合
如果项目之前没有整合过spring-data-redis的话,这一步需要先做,在maven中添加这两个依赖: <dependency> <groupId>org.spr ...
- [Spring] spring-session + JedisPool 实现 session 共享
1.至少导入四个jar包: jedis spring-session spring-data-redis commons-pool2 2.bean配置 <?xml version="1 ...
- 分布式cookie-session的实现(spring-session)
分布式cookie-session的实现(spring-session) 本文使用的spring-session版本为 1.0.0,地址为: https://github.com/spring-pro ...
- 架构设计之Spring-Session分布式集群会话管理
前言 通常在web开发中,回话管理是很重要的一部分,用于存储与用户相关的一些数据.对于JAVA开发者来说,项目中的session一般由Tomcat或者jetty容器来管理. 特点介绍 尽管使用特定的容 ...
- springboot 集成spring-session redis 实现分布式session
gradle 添加依赖 compile("org.springframework.session:spring-session:1.3.0.RELEASE") compile(&q ...
- 初试spring-session
一.简介 spring-session提供了用户会话信息管理的API和实现. 它将取代容器中的HttpSession.在没有容器会话集群方案的情况下,使得支持会话集群微不足道. 它支持在一个浏览器实例 ...
- spring-session实现分布式集群session的共享
前言 HttpSession是通过Servlet容器创建和管理的,像Tomcat/Jetty都是保存在内存中的.但是我们把应用搭建成分布式的集群,然后利用LVS或Nginx做负载均衡,那么来自同一用户 ...
- spring-session 共享
Spring session 共享 一.引入依赖 <dependency> <groupId>redis.clients</groupId> <artifac ...
- SpringBoot整合Redis、ApachSolr和SpringSession
SpringBoot整合Redis.ApachSolr和SpringSession 一.简介 SpringBoot自从问世以来,以其方便的配置受到了广大开发者的青睐.它提供了各种starter简化很多 ...
随机推荐
- CF R 632 div2 1333F Kate and imperfection
赛后看了半天题 才把题目看懂 英语水平极差. 意思:定义一个集合S的权值为max{gcd(a,b)};且\(a\neq b\) 这个集合可以从1~n中选出一些数字 求出当集合大小为k时的最小价值. 无 ...
- RabbitMQ学习总结(4)-消息处理机制
1. 正常的消息流程 上面这张图,是一个正常的消息从生产到消息流程.在上一篇文章RabbitMQ学习总结(3)-集成SpringBoot中,代码里使用消息确认,消息回退机制,现在详细说一下. 2.1 ...
- Spring与Mybatis整合占位符无法解析问题
问题:写了一个新的dao接口,进行单元测试时提示: Initialization of bean failed; nested exception is org.springframework.bea ...
- 属性集 Properties
5.1 概述 java.util.Properties 继承于 Hashtable ,来表示一个持久的属性集.它使用键值结构存储数据,每个键及其对应值都是一个字符串.该类也被许多Java类使用,比如获 ...
- EF框架 与 Dapper框架 调用分页存储过程
1. SqlServer创建存储过程: --创建存储过程 create proc sp_Show ( @index int, --当前页 @size int, --每页大小 @totalcount i ...
- Tomcat Windows 开机自启
在命令提示符中,进入 tomcat 的 bin 目录,执行命令,注册服务 service.bat install 在"服务"中,将 tomcat 服务设为自动
- pyinstaller 转 exe 的一些坑,以及解决
2020年7月30日 打包了一个程序,各种报错,记录一下1.有时候,这个pyinstaller 打包程序吧,会出现闪退一下,一般原因是因为某个包没有加载进来,或者是包所在的路劲下面有中文,这样打包成功 ...
- .NET或.NET Core Web APi基于tus协议实现断点续传
前言 前两天我采用技巧式方案基本实现大文件分片上传,这里只是重点在于个人思路和亲身实践,若在实际生产环境要求比较高的话肯定不行,仍存在一些问题需要深入处理,本文继续在之前基础上给出基于tus协议的轮子 ...
- LeetCode 90 | 经典递归问题,求出所有不重复的子集II
本文始发于个人公众号:TechFlow,原创不易,求个关注 今天是LeetCode专题第56篇文章,我们一起来看看LeetCode第90题,子集II(Subsets II). 这题的官方难度是Medi ...
- 串口线接Linux设备U盘安装系统和直接安装设备接显示屏2种方式不同
Firmware Bug]: TSC_DEADLINE disabled due to Errata; please update microcode to version: 0x22 (or lat ...