一 搭建工程
- 添加依赖,贴上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.0</modelVersion>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.1.6.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>com.ch</groupId>
<artifactId>redis-session</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>redis-session</name>
<description>Demo project for Spring Boot</description>
<properties>
<java.version>1.8</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.session</groupId>
<artifactId>spring-session-data-redis</artifactId>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
- 启动redis服务器,然后在项目配置文件添加以下内容
spring:
redis:
host: 127.0.0.1
port: 6379
password:
- 贴上启动类
@SpringBootApplication
@EnableCaching
@EnableRedisHttpSession
@RestController
public class RedisSessionApplication {
@Autowired
private HttpSession session;
public static void main(String[] args) {
SpringApplication.run(RedisSessionApplication.class, args);
}
@GetMapping("/user/add")
public String addUser() {
session.setAttribute("user", "Jack");
return "add Jack success !";
}
@GetMapping("/user/q")
public String getUser() {
Object user = session.getAttribute("user");
return String.format("get %s from session success !",String.valueOf(user));
}
}
二 测试
- 启动项目,访问:http://localhost:8080/user/add
- 访问:http://localhost:8080/user/q
- 重启工程,直接访问:http://localhost:8080/user/q
依然获取到了session结果,证明session是保存在redis中了 - 贴上redis服务器保存session的截图